Todos os produtos
Search
Central de documentação

MaxCompute:Funções HyperLogLog++

Última atualização: Jun 27, 2026

As funções HyperLogLog++ são funções de agregação aproximada que deduplicam dados rapidamente e com baixo consumo de memória em grandes volumes, acelerando as consultas. Este tópico descreve as funções relacionadas ao HyperLogLog++.

Informações gerais

O HyperLogLog (HLL) é um algoritmo eficiente de deduplicação aproximada, ideal para cenários que não exigem precisão absoluta, como estatísticas de PV/UV. Ele serve como alternativa leve ao COUNT(DISTINCT). Diferentemente de métodos exatos como Bitmap, o HLL utiliza internamente uma estrutura de dados de tamanho fixo (sketch), cujo consumo de memória não aumenta conforme o volume de dados cresce. Para cada novo dado inserido, basta calcular o hash uma única vez. Em cenários com grandes volumes de dados, a margem de erro da deduplicação por HLL geralmente fica abaixo de 1%, equilibrando eficiência e usabilidade.

Para atender às necessidades básicas de deduplicação aproximada, o MaxCompute oferece a função de agregação APPROX_DISTINCT. Com a diversificação dos cenários de negócios, muitos usuários passaram a precisar não apenas do resultado final da deduplicação, mas também da capacidade de armazenar ou reutilizar a estrutura de dados intermediária do sketch. Por isso, o MaxCompute passou a suportar o conjunto completo de funções HyperLogLog++, com otimizações no algoritmo subjacente. Essas melhorias reduzem o uso de memória e aumentam a precisão das estimativas, oferecendo melhor suporte a cenários analíticos complexos.

A seguir, apresentamos dois cenários típicos de uso do HLL:

  • Cenários que exigem consultas repetidas por dimensão temporal: Ao persistir os sketches HLL gerados diariamente, os cálculos subsequentes processam apenas os novos dados do dia e os mesclam com os sketches históricos. Isso elimina a necessidade de varrer repetidamente todo o histórico de dados e aumenta significativamente a eficiência das consultas.

  • Deduplicação conjunta em várias colunas do mesmo tipo: Crie e mantenha sketches individuais para cada coluna e execute operações de merge diretamente no nível do sketch. Essa abordagem permite reutilizar os resultados de deduplicação de forma eficiente e reduz drasticamente a sobrecarga computacional.

Lista de funções

O MaxCompute SQL oferece suporte às seguintes funções HyperLogLog++.

Função

Descrição

HLL_COUNT_INIT

Agrega valores do mesmo tipo em um novo sketch HLL++.

HLL_COUNT_MERGE_PARTIAL

Combina vários sketches HLL++ do mesmo tipo de armazenamento em um único sketch.

HLL_COUNT_EXTRACT

Calcula a estimativa de cardinalidade a partir de um sketch HLL++.

HLL_COUNT_MERGE

Mescla vários sketches HLL++ do mesmo tipo de armazenamento em um novo sketch e retorna a estimativa de cardinalidade resultante.

Considerações

Os dados BINARY utilizados pelas funções HLL_COUNT_EXTRACT, HLL_COUNT_MERGE e HLL_COUNT_MERGE_PARTIAL devem ser gerados exclusivamente pela função HLL_COUNT_INIT. Não utilize dados provenientes de outros sistemas ou obtidos por outros meios.