dcount_hll()
S’applique à : ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft 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 :