Freigeben über


hll_union_agg-Funktion

Gilt für:Häkchen gesetzt ja Databricks SQL Häkchen gesetzt ja Databricks Runtime ab Version 13.3 LTS

Diese Funktion verwendet den HyperLogLog-Algorithmus, um Skizzen zu einer einzelnen zu kombinieren.

Abfragen können die resultierenden Puffer verwenden, um die ungefähren Anzahlen eindeutiger Werte mit der Funktion hll_sketch_estimate zu berechnen.

Zur Implementierung wird die Apache DataSketches-Bibliothek verwendet. Weitere Informationen finden Sie unter HLL.

Syntax

hll_union_agg ( expr [, allowDifferentLgConfigK ] )

Diese Funktion kann auch mithilfe der OVER-Klausel als Fensterfunktion aufgerufen werden.

Argumente

  • expr: Ein BINARY-Ausdruck, der eine von der hll_sketch_agg-Funktion generierte Skizze enthält
  • allowDifferentLgConfigK: Ein optionaler konstanter BOOLEAN Ausdruck, der steuert, ob Skizzen mit unterschiedlichen lgConfigK-Werten zusammengeführt werden dürfen. Der Standardwert ist false.

Gibt zurück

Ein BINARY-Puffer, der die HyperLogLog-Skizze enthält, die als Ergebnis der Kombination der Eingabeausdrücke derselben Gruppe berechnet wurde.

Wenn der Parameter allowDifferentLgConfigK „true“ ist, verwendet die Ergebnisskizze den kleineren der beiden angegebenen lgConfigK-Werte.

Beispiele

> 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