Compartilhar via


Função de agregação hll_sketch_agg

Aplica-se a: verificação marcada como sim SQL do Databricks verificação marcada como sim Databricks Runtime 13.3 LTS e superior

Essa função utiliza o algoritmo HyperLogLog para contar uma aproximação probabilística do número de valores exclusivos em uma determinada coluna e gera o resultado como uma representação binária conhecida como buffer de esboço. Essa representação binária é adequada para persistência.

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

As funções hll_union e hll_union_agg também podem combinar esboços consumindo e mesclando esses buffers como entradas.

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

Sintaxe

hll_sketch_agg ( expr [, lgConfigK ] )

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

Argumentos

  • expr: uma expressão do tipo INT, BIGINT, STRING ou BINARY na qual a contagem exclusiva ocorrerá.
  • lgConfigK: uma constante INT opcional entre 4 e 21 inclusive com 12 como padrão. O log-base-2 de K, em que K é o número de buckets ou slots do esboço.

Qualquer NULL em expr é ignorado.

Retornos

Um buffer não NULL BINARY contendo o esboço do HyperLogLog calculado como resultado do consumo e agregação de todos os valores de entrada no grupo de agregação.

Exemplos

> SELECT hll_sketch_estimate(hll_sketch_agg(col, 12))
    FROM VALUES (1), (1), (2), (2), (3) tab(col);
  3

> SELECT hll_sketch_estimate(hll_sketch_agg(col))
    FROM VALUES (1), (1), (2), (2), (3) tab(col);
  3