kll_merge_agg_float agregační funkce

Platí pro:check marked yes Databricks SQL check marked yes Databricks Runtime 18.0 and above

Využívá více vyrovnávacích pamětí skic KLL (Karnin-Lang-Liberty) pro přibližný odhad quantile u dat s plovoucí desetinnou čárkou s jednoduchou přesností a sloučí je do jedné vyrovnávací paměti výsledku.

Syntaxe

kll_merge_agg_float ( sketch [, k ] )

Arguments

  • skica: Skica KLL v binárním formátu (například z kll_sketch_agg_float).
  • k: Volitelný INTEGER literál, který řídí přesnost skic. Musí být v rozmezí od 8 do 65535. Výchozí hodnota je 200. Vyšší hodnoty poskytují vyšší přesnost, ale využívají více paměti.

Návraty

Hodnota BINARY obsahující sloučenou serializovanou skici KLL pro data s plovoucí desetinnou čárkou s jednoduchou přesností.

Poznámky

  • Pokud k není zadána, sloučená skica převezme hodnotu k z první vstupní skicy.
  • Operace sloučení zpracovává vstupní skici s různými hodnotami k.
  • NULL hodnoty se během agregace ignorují.
  • Tuto funkci použijte při slučování více skic v kontextu agregace. Ke sloučení přesně dvou skic použijte skalární kll_sketch_merge_float funkci.

Běžné chybové podmínky

Příklady

-- Merge sketches with default k=200
> SELECT kll_sketch_get_n_float(kll_merge_agg_float(sketch))
  FROM (
    SELECT kll_sketch_agg_float(col) AS sketch
    FROM VALUES (1), (2), (3) AS tab(col)
    UNION ALL
    SELECT kll_sketch_agg_float(col) AS sketch
    FROM VALUES (4), (5), (6) AS tab(col)
  ) t;
6.0