Compartilhar via


Função hll_union_agg

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 um grupo de esboços em um único.

As consultas podem usar os buffers resultantes para calcular contagens exclusivas aproximadas 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_agg ( expr [, allowDifferentLgConfigK ] )

Essa função também pode ser invocada como uma função de janela usando a cláusula OVER.

Argumentos

  • expr: uma expressão BINARY que contém um esboço gerado por hll_sketch_agg.
  • allowDifferentLgConfigK: uma expressão constante opcional BOOLEAN que controla se deve permitir a mesclagem de 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 do mesmo grupo.

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

Exemplos

> 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