Todos os produtos
Search
Central de documentação

MaxCompute:HLL_COUNT_MERGE_PARTIAL

Última atualização: Sep 17, 2026

A função HLL_COUNT_MERGE_PARTIAL aceita um ou mais sketches HyperLogLog++ (HLL++) como entrada e mescla os sketches com a mesma classe de armazenamento em um novo sketch.

Observações

HLL_COUNT_EXTRACT/HLL_COUNT_MERGE/HLL_COUNT_MERGE_PARTIAL Os dados BINARY usados por essas funções devem vir da função HLL_COUNT_INIT e não podem ser originados de outros sistemas ou métodos.

Sintaxe

BINARY HLL_COUNT_MERGE_PARTIAL(BINARY <sketch>)

Parâmetros

sketch: Obrigatório. Valor BINARY que representa um sketch HLL++ gerado pela função HLL_COUNT_INIT.

  • Todos os valores de sketch de entrada devem ser inicializados com o mesmo tipo de dado. O sistema retorna um erro ao tentar mesclar sketches de tipos diferentes. Por exemplo, não é possível mesclar sketches gerados a partir de dados BIGINT com sketches gerados a partir de dados STRING.

  • Ao mesclar objetos sketch com precisões distintas, a precisão é reduzida para o menor valor entre os sketches mesclados. Por exemplo, se você mesclar objetos sketch com precisões 14 e 15, o resultado será um novo sketch com precisão 14.

Valor de retorno

Retorna um novo sketch do tipo BINARY. Se a entrada for NULL, o valor retornado será NULL.

Exemplo

A consulta a seguir retorna um sketch HLL++ que conta o número de usuários distintos com pelo menos uma fatura em todos os países.

SELECT HLL_COUNT_MERGE_PARTIAL(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
  );

O seguinte resultado é retornado:

+--------------------------------------+
| distinct_customers_with_open_invoice |
+--------------------------------------+
| =02=01=0F=00=03=00=00=00=20s=8E=00=F0=8B=DD=00=98_$=03 |
+--------------------------------------+

Funções relacionadas

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