Funktionen hll_union_agg
Gäller för: Databricks SQL
Databricks Runtime 13.3 LTS och senare
Den här funktionen använder HyperLogLog-algoritmen för att kombinera en grupp skisser till en enda.
Frågor kan använda de resulterande buffertarna för att beräkna ungefärliga unika antal med funktionen hll_sketch_estimate .
Implementeringen använder Apache Datasketches-biblioteket. Mer information finns i HLL .
Syntax
hll_union_agg ( expr [, allowDifferentLgConfigK ] )
Den här funktionen kan också anropas som en -fönsterfunktion med hjälp av OVER
-satsen.
Argument
-
expr
: EttBINARY
uttryck som innehåller en skiss som genererats av hll_sketch_agg. -
allowDifferentLgConfigK
: Ett valfrittBOOLEAN
konstant uttryck som styr om du vill tillåta sammanslagning av skisser med olika lgConfigK-värden. Standardvärdet är "false".
Returer
En BINARY
buffert som innehåller HyperLogLog-skissen som beräknas som ett resultat av att kombinera indatauttrycken i samma grupp.
När parametern allowDifferentLgConfigK
är sann använder resultatskissen det mindre av de två angivna lgConfigK
värdena.
Exempel
> 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