Freigeben über


hll_union-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 zwei Skizzen zu einer einzelnen Skizze zu kombinieren.

Abfragen können die resultierenden Puffer verwenden, um ungefähre eindeutige Anzahlen als lange ganze Zahlen mit der hll_sketch_estimate-Funktion zu berechnen.

Die Implementierung verwendet die Apache Datasketches-Bibliothek. Weitere Informationen finden Sie unter HLL.

Syntax

hll_union ( expr1, expr2 [, allowDifferentLgConfigK ] )

Argumente

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

Gibt zurück

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

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

Beispiele

> 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