Partage via


Fonction hll_union_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 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 expression BINARY contenant un croquis généré par hll_sketch_agg.
  • allowDifferentLgConfigK : Une expression BOOLEAN 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