Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à : ✅Microsoft Fabric✅✅
La hll() fonction est un moyen d’estimer le nombre de valeurs uniques dans un ensemble de valeurs. Il le fait en calculant les résultats intermédiaires pour l’agrégation dans le synthétiser opérateur pour un groupe de données à l’aide de la fonction dcount.
En savoir plus sur l’algorithme sous-jacent (HyperLogog) et la précision de l’estimation.
Syntaxe
hll
(
expr [,précision])
En savoir plus sur les conventions de syntaxe.
Paramètres
| Nom | Type | Requise | Description |
|---|---|---|---|
| expr | string |
✔️ | Expression utilisée pour le calcul d’agrégation. |
| exactitude | int |
Valeur qui contrôle l’équilibre entre vitesse et précision. Si la valeur n’est pas spécifiée, la valeur par défaut est 1. Pour connaître les valeurs prises en charge, consultez La précision de l’estimation. |
Retours
Retourne les résultats intermédiaires du nombre distinct d’expr dans le groupe.
Remarque
- 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é d’utilisateur unique quotidien, 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.
- Utilisez la fonction hll_merge pour fusionner les résultats de plusieurs
hll()fonctions. - Utilisez la fonction dcount_hll pour calculer le nombre de valeurs distinctes à partir de la
hll()sortie du ouhll_mergedes fonctions.
Exemple
Dans l’exemple suivant, la hll() fonction est utilisée pour estimer le nombre de valeurs uniques de la DamageProperty colonne dans chaque compartiment de temps de 10 minutes de la StartTime colonne.
StormEvents
| summarize hll(DamageProperty) by bin(StartTime,10m)
de sortie
Le tableau des résultats indiqué inclut uniquement les 10 premières lignes.
| StartTime | hll_DamageProperty |
|---|---|
| 2007-01-01T00:20:00Z | [[1024,14],["3803688792395291579"],[]] |
| 2007-01-01T01:00:00Z | [[1024,14],["7755241107725382121","-5665157283053373866","3803688792395291579","-1003235211361077779"],[]] |
| 2007-01-01T02:00:00Z | [[1024,14],["-1003235211361077779","-5665157283053373866","7755241107725382121"],[]] |
| 2007-01-01T02:20:00Z | [[1024,14],["7755241107725382121"],[]] |
| 2007-01-01T03:30:00Z | [[1024,14],["3803688792395291579"],[]] |
| 2007-01-01T03:40:00Z | [[1024,14],["-5665157283053373866"],[]] |
| 2007-01-01T04:30:00Z | [[1024,14],["3803688792395291579"],[]] |
| 2007-01-01T05:30:00Z | [[1024,14],["3803688792395291579"],[]] |
| 2007-01-01T06:30:00Z | [[1024,14],["1589522558235929902"],[]] |
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 :
Contenu connexe
- types de fonctions d’agrégation en un clin d’œil
- Utilisation de hll() et de tdigest()
- hll_if() (fonction d’agrégation)
- hll_merge() (fonction d’agrégation)