Partager via


Fonction d’agrégation hll_sketch_agg

S’applique à : coche marquée oui Databricks SQL case marquée oui 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 type INT, BIGINT, STRING ou BINARY sur laquelle un comptage unique se produit.
  • lgConfigK : constante facultative INT 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