Funkce hll_union

Platí pro:označeno jako ano Databricks SQL označeno jako ano Databricks Runtime 13.3 LTS a vyšší

Tato funkce využívá algoritmus HyperLogLog ke kombinování dvou skic do jediné skicy.

Dotazy mohou použít výsledné buffery k výpočtu přibližných jedinečných počtů jako celých čísel pomocí funkce hll_sketch_estimate.

Implementace používá knihovnu Apache Datasketches. Podívejte se na HLL pro více informací.

Syntaxe

hll_union ( expr1, expr2 [, allowDifferentLgConfigK ] )

Argumenty

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

Návraty

Vyrovnávací BINARY paměť obsahující HyperLogLog skicu vypočítanou jako výsledek kombinování vstupních výrazů.

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

Příklady

> SELECT hll_sketch_estimate(
  hll_union(
    hll_sketch_agg(col1),
    hll_sketch_agg(col2)))
  FROM VALUES
    (1, 4),
    (1, 4),
    (2, 5),
    (2, 5),
    (3, 6) AS tab(col1, col2);
  6

> SELECT hll_sketch_estimate(
  hll_union(
    hll_sketch_agg(col1,  4),
    hll_sketch_agg(col2, 21)))
  FROM VALUES
    (1, 4),
    (1, 4),
    (2, 5),
    (2, 5),
    (3, 6) AS tab(col1, col2);
  error