hll_sketch_agg
agregační funkce
Platí pro: Databricks SQL
Databricks Runtime 13.3 LTS a vyšší
Tato funkce využívá algoritmus HyperLogLog k probabilistickému odhadu počtu jedinečných hodnot v daném sloupci, a výsledek je ve formě binární reprezentace známé jako náčrtový buffer. Tato binární reprezentace je vhodná pro trvalost.
Dotazy můžou použít výsledné vyrovnávací paměti k výpočtu přibližných jedinečných počtů pomocí funkce hll_sketch_estimate .
Funkce hll_union a hll_union_agg můžou také kombinovat skicy dohromady tím, že tyto vyrovnávací paměti spotřebovávají a slučují jako vstupy.
Implementace používá knihovnu Apache Datasketches. Další informace najdete v HLL.
hll_sketch_agg ( expr [, lgConfigK ] )
Tuto funkci lze také vyvolat jako funkci okna pomocí klauzule OVER
.
-
expr
: Výraz typuINT
, ,BIGINT
neboSTRING
BINARY
proti kterému dojde k jedinečnému počítání. -
lgConfigK
: VolitelnáINT
konstanta mezi 4 a 21 včetně s výchozí hodnotou 12. Logaritmus o základu 2 z K, kde K je počet kbelíků nebo slotů pro náčrt.
Jakýkoliv NULL
in expr
je ignorován.
Vyrovnávací paměť, která neobsahujeNULL
BINARY
, ale obsahuje skicu HyperLogLog vypočítanou jako výsledek spotřeby a agregace všech vstupních hodnot v agregační skupině.
> 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