Todos os produtos
Search
Central de documentação

MaxCompute:HLL_COUNT_MERGE

Última atualização: Sep 17, 2026

A função HLL_COUNT_MERGE aceita uma ou mais estruturas de dados HLL++ (sketches), mescla os sketches com a mesma classe de armazenamento em um novo sketch e retorna a estimativa de cardinalidade do sketch resultante.

Observações

HLL_COUNT_EXTRACT/HLL_COUNT_MERGE/HLL_COUNT_MERGE_PARTIAL Os dados BINARY usados pelas funções devem vir da função HLL_COUNT_INIT e não podem ter origem em outros sistemas ou métodos.

Sintaxe

BIGINT HLL_COUNT_MERGE(BINARY <sketch>)

Parâmetros

sketch: Obrigatório. Sketch HLL++, que é um valor BINARY gerado pela função HLL_COUNT_INIT.

  • Se o parâmetro sketch for nulo, será ignorado.

  • Todos os valores de entrada do parâmetro sketch devem ser inicializados com o mesmo tipo de dados. A mesclagem de sketches com tipos diferentes gera erro. Por exemplo, não é possível mesclar um sketch gerado a partir de dados BIGINT com outro gerado a partir de dados STRING.

Valor retornado

Retorna a cardinalidade estimada como um valor BIGINT. Se o sketch mesclado for nulo, a função retorna 0.

Exemplo

Conte o número de clientes únicos com pelo menos uma fatura em todos os países.

SELECT HLL_COUNT_MERGE(hll_sketch) AS distinct_customers_with_open_invoice
FROM
  (
    SELECT country, HLL_COUNT_INIT(customer_id) AS hll_sketch
    FROM values
      ('UA', 'customer_id_1', 'invoice_id_11'),
      ('BR', 'customer_id_3', 'invoice_id_31'),
      ('CZ', 'customer_id_2', 'invoice_id_22'),
      ('CZ', 'customer_id_2', 'invoice_id_23'),
      ('BR', 'customer_id_3', 'invoice_id_31'),
      ('UA', 'customer_id_2', 'invoice_id_24')
    t(country, customer_id, invoice_id)
    GROUP BY country
  );

Resultado retornado:

+--------------------------------------+
| distinct_customers_with_open_invoice |
+--------------------------------------+
| 3                                    |
+--------------------------------------+

Funções relacionadas

HLL_COUNT_MERGE é uma função HyperLogLog++. O MaxCompute oferece um conjunto de funções HyperLogLog++ para agregação aproximada. Para mais informações, consulte HyperLogLog++ Functions Overview.