Partager via


Fonction hll_union

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 deux croquis en un seul.

Les requêtes peuvent utiliser les tampons résultants pour calculer des nombres uniques approximatifs en tant qu’entiers longs 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 ( expr1, expr2 [, allowDifferentLgConfigK ] )

Arguments

  • exprN : une expression BINARY contenant un croquis généré par hll_sketch_agg.
  • allowDifferentLgConfigK : une expression BOOLEAN facultative contrôlant s’il faut autoriser la fusion de deux croquis avec différentes valeurs lgConfigK. La valeur par défaut est false (Faux).

Retours

Un tampon BINARY contenant le croquis HyperLogLog calculé à la suite de la combinaison des expressions d’entrée.

Lorsque le paramètre allowDifferentLgConfigK est vrai, le croquis résultant utilise la plus petite des deux valeurs lgConfigK fournies.

Exemples

> SELECT hll_sketch_estimate(
  hll_union(
    hll_sketch_agg(col1),
    hll_sketch_agg(col2)))
  FROM VALUES
    (1, 4),
    (1, 4),
    (2, 5),
    (2, 5),
    (3, 6) AS tab(col1, col2);
  6

> SELECT hll_sketch_estimate(
  hll_union(
    hll_sketch_agg(col1,  4),
    hll_sketch_agg(col2, 21)))
  FROM VALUES
    (1, 4),
    (1, 4),
    (2, 5),
    (2, 5),
    (3, 6) AS tab(col1, col2);
  error