Udostępnij za pośrednictwem


Funkcja hll_union

Dotyczy: zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime 13.3 LTS i nowsze

Ta funkcja wykorzystuje algorytm HyperLogLog , aby połączyć dwa szkice w jeden szkic.

Zapytania mogą używać wynikowych do obliczania przybliżonych unikatowych liczb, o ile liczby całkowite z funkcją hll_sketch_estimate .

Implementacja używa biblioteki Apache Datasketches. Aby uzyskać więcej informacji, zobacz HLL .

Składnia

hll_union ( expr1, expr2 [, allowDifferentLgConfigK ] )

Argumenty

  • exprNBINARY: wyrażenie zawierające szkic wygenerowany przez hll_sketch_agg.
  • allowDifferentLgConfigK: opcjonalne BOOLEAN wyrażenie kontrolujące, czy zezwalać na scalanie dwóch szkiców z różnymi wartościami lgConfigK. Wartość domyślna to false.

Zwraca

Bufor BINARY zawierający szkic funkcji HyperLogLog obliczony w wyniku połączenia wyrażeń wejściowych.

allowDifferentLgConfigK Gdy parametr ma wartość true, szkic wyniku używa mniejszych z dwóch podanych lgConfigK wartości.

Przykłady

> 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