Compartilhar via


Função hll_union

Aplica-se a:verificação marcada como sim SQL do Databricks verificação marcada como sim Databricks Runtime 13.3 LTS e versões posteriores

Essa função utiliza o algoritmo HyperLogLog para combinar dois esboços em apenas um.

As consultas podem usar os buffers resultantes para calcular contagens exclusivas aproximadas como inteiros longos com a função hll_sketch_estimate.

A implementação usa a biblioteca Apache Datasketches. Confira HLL para obter mais informações.

Sintaxe

hll_union ( expr1, expr2 [, allowDifferentLgConfigK ] )

Argumentos

  • exprN: uma expressão BINARY segurando um esboço gerado por hll_sketch_agg.
  • allowDifferentLgConfigK: uma expressão BOOLEAN opcional que controla se deve ser permitida a mesclagem de dois esboços com valores lgConfigK diferentes. O valor padrão é falso.

Retornos

Um buffer BINARY que contém o esboço do HyperLogLog calculado como resultado da combinação das expressões de entrada.

Quando o parâmetro allowDifferentLgConfigK é true, o esboço de resultado usa o menor dos dois valores lgConfigK fornecidos.

Exemplos

> 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