Partilhar via


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

Intercala os resultados HLL entre o grupo num único valor HLL.

Nota

Esta função é utilizada em conjunto com o operador de resumo.

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

Importante

Os resultados de hll(), hll_if() e hll_merge() podem ser armazenados e obtidos posteriormente. Por exemplo, poderá querer criar um resumo de utilizadores exclusivos diário, que pode ser utilizado para calcular contagens semanais. No entanto, a representação binária precisa destes resultados pode mudar ao longo do tempo. Não há garantias de que estas funções produzam resultados idênticos para entradas idênticas e, portanto, não aconselhamos que confiem nas mesmas.

Syntax

hll_merge(hll)

Saiba mais sobre as convenções de sintaxe.

Parâmetros

Nome Tipo Necessário Descrição
hll string ✔️ O nome da coluna que contém valores HLL a intercalar.

Devoluções

A função devolve os valores HLL intercalados de hll em todo o grupo.

Dica

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

Exemplo

O exemplo seguinte mostra os resultados HLL num grupo intercalado num único valor HLL.

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

Saída

Os resultados mostram apenas os primeiros cinco resultados na matriz.

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

Precisão da estimativa

Esta função utiliza uma variante do algoritmo HyperLogLog (HLL), que faz uma estimativa estocástica da cardinalidade definida. O algoritmo fornece um "botão" que pode ser utilizado para equilibrar a precisão e o tempo de execução por tamanho da 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

Nota

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

O algoritmo inclui algumas disposições para fazer uma contagem perfeita (erro zero), se a cardinalidade definida for suficientemente pequena:

  • Quando o nível de precisão é 1, são devolvidos 1000 valores
  • Quando o nível de precisão é 2, são devolvidos 8000 valores

O limite de erros é probabilístico, não é um limite 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 inferior a 3 x sigma.

A imagem seguinte mostra a função de distribuição de probabilidades do erro de estimativa relativa, em percentagens, para todas as definições de precisão suportadas:

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