La fonction HLL_COUNT_MERGE accepte une ou plusieurs structures de données HLL++ (sketch) en entrée, fusionne les sketches HLL++ de même type de stockage en un nouveau sketch et renvoie l'estimation de la cardinalité du sketch résultant.
Notes
HLL_COUNT_EXTRACT/HLL_COUNT_MERGE/HLL_COUNT_MERGE_PARTIAL Les données BINARY utilisées par ces fonctions doivent provenir de la fonction HLL_COUNT_INIT ; elles ne peuvent pas être issues d'autres systèmes ou d'autres méthodes.
Syntaxe
BIGINT HLL_COUNT_MERGE(BINARY <sketch>)
Paramètres
sketch : obligatoire, de type BINARY. Sketch HLL++ généré par la fonction HLL_COUNT_INIT.
Si le paramètre sketch est NULL, il est ignoré.
Chaque sketch doit être initialisé avec le même type. La tentative de fusion de sketches de types différents entraîne une erreur. Par exemple, il est impossible de fusionner des sketches générés à partir de données BIGINT avec des sketches générés à partir de données STRING.
Valeur de retour
Renvoie une estimation de la cardinalité de type BIGINT. Si le sketch résultant de la fusion est NULL, la fonction renvoie 0.
Exemple
Comptez le nombre de personnes physiques disposant d'au moins une facture dans tous les pays.
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
);
Résultat renvoyé :
+--------------------------------------+
| distinct_customers_with_open_invoice |
+--------------------------------------+
| 3 |
+--------------------------------------+
Fonctions associées
La fonction HLL_COUNT_MERGE fait partie des fonctions HyperLogLog++. MaxCompute prend en charge une série de fonctions d'agrégation approximative HyperLogLog++. Pour plus d'informations sur les fonctions associées, consultez HyperLogLog++ Functions Overview.