Merging HyperLogLogs with PFMERGE
Dans cette étape, vous apprendrez à fusionner plusieurs HyperLogLogs en un seul HyperLogLog en utilisant la commande PFMERGE
. Ceci est utile lorsque vous avez des données réparties sur plusieurs HyperLogLogs et que vous souhaitez obtenir une estimation du nombre total d'éléments uniques.
Understanding PFMERGE
La commande PFMERGE
fusionne plusieurs HyperLogLogs dans un HyperLogLog de destination. L'HyperLogLog de destination contiendra l'union des éléments de tous les HyperLogLogs sources.
Syntax:
PFMERGE destkey sourcekey [sourcekey ...]
destkey
: Le nom de l'HyperLogLog de destination (où le résultat fusionné sera stocké). S'il n'existe pas, il sera créé. S'il existe, il sera écrasé.
sourcekey
: Le(s) nom(s) des HyperLogLogs sources à fusionner.
Example:
Créons un nouvel HyperLogLog appelé new_users
et ajoutons-y quelques utilisateurs.
redis-cli
PFADD new_users user8 user9 user10
exit
Maintenant, fusionnons les HyperLogLogs users
et new_users
dans un nouvel HyperLogLog appelé all_users
.
redis-cli
PFMERGE all_users users new_users
Vous devriez voir la sortie suivante :
OK
La réponse OK
indique que l'opération de fusion a réussi.
Maintenant, estimons le nombre d'utilisateurs uniques dans l'HyperLogLog all_users
:
PFCOUNT all_users
exit
Vous devriez voir une sortie similaire à celle-ci :
(integer) 7
La sortie (integer) 7
indique que l'HyperLogLog estime qu'il y a approximativement 7 utilisateurs uniques dans l'HyperLogLog fusionné all_users
.
Hands-on Practice:
- Connectez-vous au serveur Redis en utilisant
redis-cli
.
- Utilisez la commande
PFMERGE
pour fusionner les HyperLogLogs users
et new_users
dans un nouvel HyperLogLog appelé all_users
.
- Utilisez la commande
PFCOUNT
pour estimer le nombre d'utilisateurs uniques dans l'HyperLogLog all_users
.
- Quittez
redis-cli
.
PFMERGE all_users users new_users
PFCOUNT all_users
exit
Ceci termine le labo sur l'utilisation des HyperLogLogs dans Redis. Vous avez appris à ajouter des éléments, à compter les éléments uniques et à fusionner des HyperLogLogs.