HLL を使用したセットのカーディナリティのカウントを時系列分析に使用する方法について、誰かが説明したり、説明にリンクしたりできますか?
druid.ioがまさにこれを行うと確信していますが、特定のライブラリ/データベースまたは特定の HLL 実装なしで、HLL のみでこれを行う方法の一般的な説明を探しています。
これを行う単純な方法は、カウントするものにタイムスタンプをプレフィックスすることです。たとえば、1000001 秒から 1000060 秒までのイベントをカウントする場合、redis HLL API を例として使用します。
PFADD SOMEHLLVAR "1000001-event1" "1000001-event2" ...
PFADD SOMEHLLVAR "1000002-event1" "1000002-event3" ...
PFADD SOMEHLLVAR "1000003-event2" "1000003-event3" ...
# Get count of occurrences of event1 in a minute long range:
PFCOUNT "1000001-event1" -> 1
PFCOUNT "1000002-event1" -> 1
PFCOUNT "10000..-event1" -> ..
PFCOUNT "1000060-event1" -> 0
...add all numbers! -> 2
これが持つ問題の 1 つに過ぎません。たとえば、最後の 1 分間の特定のイベントの数を調べるために、特定の範囲内の各秒を反復処理する必要があるということです。