Compartilhar via


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

Mescla os resultados de HLL em todo o 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 (HyperLog Log) e a precisão da estimativa.

Importante

Os resultados de hll(), hll_if() e hll_merge() podem ser armazenados e posteriormente recuperados. 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.

Sintaxe

hll_merge(Hll)

Saiba mais sobre as convenções de sintaxe.

Parâmetros

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

Devoluções

A função retorna os valores 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.

hllMesclado
[[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:

Gráfico mostrando a distribuição de erros hll.