PFMERGE による HyperLogLog のマージ
このステップでは、PFMERGE
コマンドを使用して、複数の HyperLogLog を 1 つの HyperLogLog にマージする方法を学びます。これは、データが複数の HyperLogLog に分散しており、一意な要素の合計の推定値を取得したい場合に役立ちます。
PFMERGE について
PFMERGE
コマンドは、複数の HyperLogLog を宛先(destination)の HyperLogLog にマージします。宛先の HyperLogLog には、すべてのソース(source)の HyperLogLog からの要素の和集合が含まれます。
構文:
PFMERGE destkey sourcekey [sourcekey ...]
destkey
: 宛先の HyperLogLog の名前(マージされた結果が格納される場所)。存在しない場合は作成されます。存在する場合は上書きされます。
sourcekey
: マージするソースの HyperLogLog の名前。
例:
new_users
という新しい HyperLogLog を作成し、いくつかのユーザーを追加してみましょう。
redis-cli
PFADD new_users user8 user9 user10
exit
次に、users
と new_users
の HyperLogLog を、all_users
という新しい HyperLogLog にマージします。
redis-cli
PFMERGE all_users users new_users
次の出力が表示されるはずです。
OK
OK
という応答は、マージ操作が成功したことを示します。
次に、all_users
HyperLogLog 内の一意なユーザーの数を推定してみましょう。
PFCOUNT all_users
exit
次のような出力が表示されるはずです。
(integer) 7
出力 (integer) 7
は、HyperLogLog が、マージされた all_users
HyperLogLog に約 7 人の一意なユーザーがいると推定していることを示します。
実践:
redis-cli
を使用して Redis サーバーに接続します。
PFMERGE
コマンドを使用して、users
と new_users
の HyperLogLog を、all_users
という新しい HyperLogLog にマージします。
PFCOUNT
コマンドを使用して、all_users
HyperLogLog 内の一意なユーザーの数を推定します。
redis-cli
を終了します。
PFMERGE all_users users new_users
PFCOUNT all_users
exit
これで、Redis での HyperLogLog の使用に関する実験(Lab)は完了です。アイテムの追加、一意なアイテムのカウント、および HyperLogLog のマージの方法を学びました。