Partager via


hll_merge() (fonction d’agrégation)

Fusionne les résultats HLL dans le groupe en une seule valeur HLL.

Remarque

Cette fonction est utilisée conjointement avec l’opérateur de synthèse.

Pour plus d’informations, consultez l’algorithme sous-jacent (HyperLoglog) et la précision de l’estimation.

Important

Les résultats de hll(), de hll_if() et de hll_merge() peuvent être stockés et récupérés ultérieurement. Par exemple, vous pouvez créer un résumé quotidien des utilisateurs uniques, qui peut ensuite être utilisé pour calculer les nombres hebdomadaires. Toutefois, la représentation binaire précise de ces résultats peut changer au fil du temps. Il n’existe aucune garantie que ces fonctions produisent des résultats identiques pour les entrées identiques, et par conséquent, nous ne conseillons pas de s’appuyer sur eux.

Syntaxe

hll_merge(Hll)

En savoir plus sur les conventions de syntaxe.

Paramètres

Nom Type Requise Description
hll string ✔️ Nom de colonne contenant des valeurs HLL à fusionner.

Retours

La fonction retourne les valeurs HLL fusionnées de hll sur le groupe.

Conseil

Utilisez la fonction dcount_hll pour calculer les dcount fonctions d’agrégation hll() et hll_merge().

Exemple

L’exemple suivant montre les résultats HLL d’un groupe fusionné en une seule valeur HLL.

StormEvents
| summarize hllRes = hll(DamageProperty) by bin(StartTime,10m)
| summarize hllMerged = hll_merge(hllRes)

Sortie

Les résultats affichent uniquement les cinq premiers résultats dans le tableau.

hllMerged
[[1024,14],["-6903255281122589438","-7413697181929588220","-2396604341988936699","5824198135224880646","-6257421034880415225", ...],[]]

Exactitude d’estimation

Cette fonction utilise une variante de l’algorithme HyperLogLog (HLL), qui effectue une estimation stochastique de la cardinalité définie. L’algorithme fournit un « bouton » qui peut être utilisé pour équilibrer la précision et la durée d’exécution par taille de mémoire :

Précision Erreur (%) Nombre d’entrées
0 1.6 212
1 0,8 214
2 0.4 216
3 0,28 217
4 0.2 218

Remarque

La colonne « Nombre d’entrées » indique le nombre de compteurs sur 1 octet dans l’implémentation de HLL.

L’algorithme inclut certaines dispositions pour effectuer un décompte parfait (zéro erreur) si la cardinalité définie est suffisamment petite :

  • Lorsque le niveau d’exactitude est 1, 1 000 valeurs sont retournées
  • Lorsque le niveau d’exactitude est 2, 8 000 valeurs sont retournées

La limite d’erreur est probabiliste, non théorique. La valeur est l’écart type de distribution des erreurs (sigma), et 99,7 % des estimations auront une erreur relative inférieure à 3 x sigma.

L’illustration suivante montre la fonction de distribution des probabilités de l’erreur d’estimation relative, en pourcentage, pour tous les paramètres d’exactitude pris en charge :

Graphique montrant la distribution des erreurs hll.