- Categorias:
Funções de agregação (estimativa de cardinalidade), funções de janela (estimativa de cardinalidade)
HLL_ACCUMULATE¶
Retorna o estado de HyperLogLog no final da agregação.
Para obter mais informações sobre HyperLogLog, consulte Estimativa do número de valores distintos.
HLL descarta seu estado intermediário quando a estimativa final de cardinalidade é retornada. Em casos de uso avançado, como a estimativa de cardinalidade incremental durante o carregamento em massa, pode-se querer manter o estado intermediário. O estado intermediário pode posteriormente ser combinado (fundido) com outros estados intermediários, ou pode ser exportado para ferramentas externas.
Em contraste com HLL, HLL_ACCUMULATE não retorna uma estimativa de cardinalidade. Em vez disso, ele pula a etapa final de estimativa e retorna o próprio estado do algoritmo. O estado é um binário de, no máximo, 4096 bytes. Para obter mais informações, consulte Estimativa do número de valores distintos.
- Consulte também:
Sintaxe¶
Função de agregação
Função de janela
Para detalhes sobre a cláusula OVER, consulte Sintaxe e uso da função de janela.
Argumentos¶
exprA expressão para a qual você deseja estimar a cardinalidade (número de valores distintos). Este é normalmente um nome de coluna, mas pode ser uma expressão mais geral.
Notas de uso¶
Esta função pode ser usada como uma função de agregação ou uma função de janela.
DISTINCT é suportado sintaticamente, mas não tem efeito.
Exemplos¶
Isto mostra um passo para estimar o número de códigos postais distintos na(s) província(s) do Canadá. Nesta etapa, calculamos o número aproximado de códigos postais distintos em Manitoba e armazenamos uma representação interna do “estado” do cálculo, que podemos posteriormente combinar com informações semelhantes para outras províncias:
Here is another example. This example shows how to use the three related functions HLL_ACCUMULATE, HLL_ESTIMATE, and HLL_COMBINE.
Criar uma tabela e dados simples:
Create a table that contains the «state» that represents the current
approximate cardinality information for the table named sequence_demo:
Now create a second table and add data. (In a more realistic situation, the user could have loaded more data into the first table and divided the data into non-overlapping sets based on the time that the data was loaded.)
Obtenha as informações de “estado” apenas para os novos dados.
Combine as informações de “estado” para os dois lotes de linhas:
Obtenha a cardinalidade aproximada do conjunto de linhas combinadas: