Freigeben über


hll_sketch_agg-Aggregatfunktion

Gilt für: Häkchen gesetzt ja Databricks SQL Häkchen gesetzt ja Databricks Runtime 13.3 LTS und höher

Diese Funktion verwendet den HyperLogLog-Algorithmus, um eine probabilistische Approximation der Anzahl eindeutiger Werte in einer bestimmten Spalte zu zählen, und gibt das Ergebnis als binäre Darstellung aus, die als Skizzenpuffer bezeichnet wird. Diese binäre Darstellung eignet sich für Persistenz.

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

Die Funktionen hll_union und hll_union_agg können auch Skizzen kombinieren, indem diese Puffer als Eingaben genutzt und zusammengeführt werden.

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

Syntax

hll_sketch_agg ( expr [, lgConfigK ] )

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

Argumente

  • expr: Ein Ausdruck vom Typ INT, BIGINT, STRING oder BINARY, für den eine Zählung eindeutiger Werte erfolgt.
  • lgConfigK: Eine optionale INT-Konstante zwischen 4 und 21 einschließlich des Standardwerts 12. Log-base-2 von K, wobei K die Anzahl der Buckets oder Slots für die Skizze ist.

Alle NULL-Werte in expr werden ignoriert.

Gibt zurück

Ein Nicht-NULL-BINARY-Puffer, der die HyperLogLog-Skizze enthält, die als Ergebnis der Nutzung und Aggregierung aller Eingabewerte in der Aggregationsgruppe berechnet wurde

Beispiele

> 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