Fonction d’agrégation hll_sketch_agg
S’applique à : Databricks SQL Databricks Runtime 13.3 LTS et versions ultérieures
Cette fonction utilise l’algorithme HyperLogLog pour compter une approximation probabiliste du nombre de valeurs uniques d’une colonne donnée et génère le résultat en tant que représentation binaire appelée mémoire tampon de croquis. Cette représentation binaire convient à la persistance.
Les requêtes peuvent utiliser les tampons résultants pour calculer des nombres uniques approximatifs avec la fonction hll_sketch_estimate.
Les fonctions hll_union et hll_union_agg peuvent également combiner des croquis en consommant et en fusionnant ces mémoires tampons en tant qu’entrées.
L’implémentation utilise la bibliothèque Apache Datasketches. Veuillez consulter HLL pour plus d'informations.
Syntaxe
hll_sketch_agg ( expr [, lgConfigK ] )
Cette fonction peut également être appelée en tant que fonction de fenêtre à l’aide de la clause OVER
.
Arguments
expr
: expression de typeINT
,BIGINT
,STRING
ouBINARY
sur laquelle un comptage unique se produit.lgConfigK
: constante facultativeINT
comprise entre 4 et 21 inclus avec la valeur par défaut 12. Log-base-2 de K, où K est le nombre de compartiments ou d’emplacements pour le croquis.
Tout NULL
dans expr
est ignoré.
Retours
Un tampon non-NULL
BINARY
contenant le croquis HyperLogLog calculé à la suite de la consommation et de l’agrégation de toutes les valeurs d’entrée dans le groupe d’agrégation.
Exemples
> SELECT hll_sketch_estimate(hll_sketch_agg(col, 12))
FROM VALUES (1), (1), (2), (2), (3) tab(col);
3
> SELECT hll_sketch_estimate(hll_sketch_agg(col))
FROM VALUES (1), (1), (2), (2), (3) tab(col);
3