Sdílet prostřednictvím


Funkce hll_union_agg

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 ke kombinování skupiny skic do jednoho.

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 .

Implementace používá knihovnu Apache Datasketches. Další informace najdete v HLL.

Syntaxe

hll_union_agg ( expr [, allowDifferentLgConfigK ] )

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

Argumenty

  • expr: Výraz BINARY s náčrtkem vygenerovaným hll_sketch_agg.
  • allowDifferentLgConfigK: Volitelný BOOLEAN konstantní výraz, který určuje, zda povolit sloučení skic s různými hodnotami lgConfigK. Výchozí hodnota je false.

Návraty

Vyrovnávací BINARY paměť obsahující skicu HyperLogu vypočítanou v důsledku kombinování vstupních výrazů stejné skupiny.

allowDifferentLgConfigK Pokud je parametr pravdivý, použije skica výsledku menší ze dvou zadaných lgConfigK hodnot.

Příklady

> 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