Compartilhar via


dcount_hll()

Calcula a contagem distinta dos resultados gerados por hll ou hll_merge.

Leia sobre o algoritmo subjacente (HyperLogLog) e a precisão da estimativa.

Syntax

dcount_hll(Hll)

Saiba mais sobre as convenções de sintaxe.

Parâmetros

Nome Tipo Obrigatório Descrição
hll string ✔️ Uma expressão gerada por hll ou hll-merge a ser usada para localizar a contagem distinta.

Retornos

Retorna a contagem distinta de cada valor em hll.

Exemplo

O exemplo a seguir mostra os resultados mesclados de contagem distinta.

StormEvents
| summarize hllRes = hll(DamageProperty) by bin(StartTime,10m)
| summarize hllMerged = hll_merge(hllRes)
| project dcount_hll(hllMerged)

Saída

dcount_hll_hllMerged
315

Precisão da estimativa

Essa função usa uma variante do algoritmo HyperLogLog (HLL), que faz uma estimativa estocástica da cardinalidade do conjunto. O algoritmo oferece um "botão" que pode ser usado para balancear a precisão e o tempo de execução por tamanho de memória:

Precisão Erro (%) Contagem de entradas
0 1.6 212
1 0,8 214
2 0,4 216
3 0,28 217
4 0,2 218

Observação

A coluna "contagem de entradas" é o número de contadores de 1 byte na implementação de HLL.

O algoritmo inclui algumas provisões para fazer uma contagem perfeita (erro zero), se a cardinalidade definida for pequena o suficiente:

  • Quando o nível de precisão é 1, mil valores são retornados
  • Quando o nível de precisão é 2, 8 mil valores são retornados

O erro associado é probabilístico, não um associado teórico. O valor é o desvio padrão da distribuição de erros (o sigma) e 99,7% das estimativas terão um erro relativo de menos de 3 x sigma.

A seguinte imagem mostra a função de distribuição de probabilidade do erro de estimativa relativa, em percentuais, para todas as configurações de precisão com suporte:

Grafo mostrando a distribuição de erro hll.