Fonction hll_union_agg
S’applique à : Databricks SQL Databricks Runtime 13.3 LTS et versions ultérieures
Cette fonction utilise l'algorithme HyperLogLog pour combiner un groupe d'esquisses en un seul.
Les requêtes peuvent utiliser les tampons résultants pour calculer des nombres uniques approximatifs avec la fonction hll_sketch_estimate.
L'implémentation utilise la bibliothèque Apache Datasketches. Veuillez consulter HLL pour plus d'informations.
Syntaxe
hll_union_agg ( expr [, allowDifferentLgConfigK ] )
Cette fonction peut également être appelée en tant que fonction de fenêtre à l’aide de la clause OVER
.
Arguments
expr
: Une expressionBINARY
contenant un croquis généré par hll_sketch_agg.allowDifferentLgConfigK
: Une expressionBOOLEAN
constante facultative contrôlant s’il faut autoriser la fusion d’esquisses avec différentes valeurs lgConfigK. La valeur par défaut est false (Faux).
Retours
Un tampon BINARY
contenant l'esquisse HyperLogLog calculée à la suite de la combinaison des expressions d'entrée du même groupe.
Lorsque le paramètre allowDifferentLgConfigK
est vrai, l'esquisse résultante utilise la plus petite des deux valeurs fournies lgConfigK
.
Exemples
> SELECT hll_sketch_estimate(hll_union_agg(sketch, true))
FROM (SELECT hll_sketch_agg(col) as sketch
FROM VALUES (1) AS tab(col)
UNION ALL
SELECT hll_sketch_agg(col, 20) as sketch
FROM VALUES (1) AS tab(col));
1
> SELECT hll_sketch_estimate(hll_union_agg(sketch, false))
FROM (SELECT hll_sketch_agg(col) as sketch
FROM VALUES (1) AS tab(col)
UNION ALL
SELECT hll_sketch_agg(col, 20) as sketch
FROM VALUES (1) AS tab(col));
error