Função hll_union_agg
Aplica-se a: SQL do Databricks 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ãoBINARY
que contém um esboço gerado por hll_sketch_agg.allowDifferentLgConfigK
: uma expressão constante opcionalBOOLEAN
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