hll_sketch_agg
statistische functie
Van toepassing op: Databricks SQL
Databricks Runtime 13.3 LTS en hoger
Deze functie maakt gebruik van het HyperLogLog- algoritme om een probabilistische benadering van het aantal unieke waarden in een bepaalde kolom te tellen en voert het resultaat uit als een binaire weergave die bekend staat als een schetsbuffer. Deze binaire weergave is geschikt voor persistentie.
Query's kunnen de resulterende buffers gebruiken om geschatte unieke aantallen te berekenen met de functie hll_sketch_estimate .
De functies hll_union en hll_union_agg kunnen ook schetsen combineren door deze buffers als invoer te gebruiken en samen te voegen.
De implementatie maakt gebruik van de Apache Datasketches-bibliotheek. Zie HLL voor meer informatie.
Syntaxis
hll_sketch_agg ( expr [, lgConfigK ] )
Deze functie kan ook als een vensterfunctie worden aangeroepen met behulp van de OVER
clausule.
Argumenten
-
expr
: een uitdrukking van het typeINT
,BIGINT
,STRING
, ofBINARY
waarop uniek wordt geteld. -
lgConfigK
: Een optioneleINT
constante tussen 4 en 21 inclusief met standaard 12. De logaritme met grondtal 2 van K, waarbij K het aantal emmers of vakken voor de schets is.
Elke NULL
in expr
wordt genegeerd.
Retouren
Een buffer zonderNULL
BINARY
die de HyperLogLog-schets bevat, berekend als resultaat van het verwerken en aggregeren van alle invoerwaarden in de aggregatiegroep.
Voorbeelden
> 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