hll_sketch_agg
-Aggregatfunktion
Gilt für: Databricks SQL 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 TypINT
,BIGINT
,STRING
oderBINARY
, für den eine Zählung eindeutiger Werte erfolgt.lgConfigK
: Eine optionaleINT
-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