hll_merge() (função de agregação)

Mescla os resultados de HLL no grupo em um único valor de HLL.

Observação

Essa função é usada em conjunto com o operador summarize.

Para obter mais informações, consulte o algoritmo subjacente (HyperLogLog) e a precisão da estimativa.

Importante

Os resultados de hll(), hll_if() e hll_merge() podem ser armazenados e recuperados posteriormente. Por exemplo, talvez você queira criar um resumo diário de usuários exclusivos, que pode ser usado para calcular contagens semanais. No entanto, a representação binária precisa desses resultados pode mudar ao longo do tempo. Não há garantia de que essas funções produzirão resultados idênticos para entradas idênticas e, portanto, não aconselhamos confiar nelas.

Syntax

hll_merge(Hll)

Saiba mais sobre as convenções de sintaxe.

Parâmetros

Nome Tipo Obrigatório Descrição
hll string ✔️ O nome da coluna que contém valores de HLL a serem mesclados.

Retornos

A função retorna os valores de HLL mesclados de hll em todo o grupo.

Dica

Use a função dcount_hll para calcular as dcount funções de agregação de hll() e hll_merge( ).

Exemplo

O exemplo a seguir mostra os resultados de HLL em um grupo mesclado em um único valor de HLL.

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

Saída

Os resultados mostram apenas os cinco primeiros resultados na matriz.

hllMerged
[[1024,14],["-6903255281122589438","-7413697181929588220","-2396604341988936699","5824198135224880646","-6257421034880415225", ...],[]]

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.