Sdílet prostřednictvím


hll_sketch_agg agregační funkce

Platí pro: zaškrtnutí označeného ano Databricks SQL zaškrtnutí označeného ano Databricks Runtime 13.3 LTS a vyšší

Tato funkce využívá algoritmus HyperLogLog k počítání pravděpodobnostní aproximace počtu jedinečných hodnot v daném sloupci a výstupem výsledku je binární reprezentace známá jako vyrovnávací paměť skicy. 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.

Syntaxe

hll_sketch_agg ( expr [, lgConfigK ] )

Tuto funkci lze také vyvolat jako funkci okna pomocí OVER klauzule.

Argumenty

  • expr: Výraz typu INT, , BIGINTnebo STRINGBINARY 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. Log-base-2 K, kde K je počet kbelíků nebo slotů pro skicu.

Jakýkoliv NULL in expr je ignorován.

Návraty

NULL BINARY Vyrovnávací paměť obsahující skicu HyperLogLog vypočítanou v důsledku spotřeby a agregace všech vstupních hodnot ve skupině agregace.

Příklady

> 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