A função HLL_COUNT_MERGE recebe uma ou mais estruturas de dados HLL++ (sketch) como entrada, combina sketches HLL++ do mesmo tipo de armazenamento em um novo sketch e retorna a estimativa de cardinalidade do sketch resultante.
Observações
Os dados BINARY utilizados pelas funções HLL_COUNT_EXTRACT/HLL_COUNT_MERGE/HLL_COUNT_MERGE_PARTIAL devem originar-se exclusivamente da função HLL_COUNT_INIT. Não utilize dados provenientes de outros sistemas ou métodos.
Formato do comando
BIGINT HLL_COUNT_MERGE(BINARY <sketch>)
Descrição dos parâmetros
sketch: obrigatório, tipo BINARY. Representa o sketch HLL++ gerado pela função HLL_COUNT_INIT.
O sistema ignora o parâmetro sketch se seu valor for NULL.
Todos os valores de sketch devem ter sido inicializados com o mesmo tipo de dado. Tentar mesclar sketches de tipos diferentes resulta em erro. Por exemplo, não é possível combinar sketches gerados a partir de dados BIGINT com sketches originados de dados STRING.
Valor de retorno
Retorna uma estimativa de cardinalidade do tipo BIGINT. Se o novo sketch gerado após a mesclagem for NULL, a função retornará 0.
Exemplos de uso
Conte o número de pessoas físicas 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:
+--------------------------------------+
| distinct_customers_with_open_invoice |
+--------------------------------------+
| 3 |
+--------------------------------------+
Funções relacionadas
A função HLL_COUNT_MERGE integra o conjunto de funções HyperLogLog++. O MaxCompute oferece diversas funções HyperLogLog++ para agregação aproximada. Para obter mais informações, consulte Funções HyperLogLog++.