Partager via


dcount_hll()

S’applique à : ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft Sentinel

Calcule le nombre distinct des résultats générés par hll ou hll_merge.

En savoir plus sur l’algorithme sous-jacent (HyperLogog) et la précision de l’estimation.

Syntaxe

dcount_hll(hll)

En savoir plus sur les conventions de syntaxe.

Paramètres

Nom Type Requise Description
hll string ✔️ Expression générée par hll ou hll-merge à utiliser pour rechercher le nombre distinct.

Retours

Retourne le nombre distinct de chaque valeur en hll.

Exemple

L’exemple suivant montre les résultats fusionnés de nombre distinct.

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

Sortie

dcount_hll_hllMerged
315

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.