La fonction HLL_COUNT_EXTRACT calcule une estimation de la cardinalité à partir d'une structure de données HLL++ (sketch).
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 provenir d'autres systèmes ou d'autres méthodes.
Syntaxe
BIGINT HLL_COUNT_EXTRACT(BINARY <sketch>)
Paramètres
sketch : Obligatoire. Type BINARY. Sketch HLL++ généré par la fonction HLL_COUNT_INIT.
Valeur de retour
Renvoie une estimation de la cardinalité de type BIGINT. Si le paramètre d'entrée sketch est NULL, la fonction renvoie 0.
Exemples
Calculez le nombre de personnes physiques disposant d'au moins une facture dans chaque pays.
SELECT
country,
HLL_COUNT_EXTRACT(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 :
+---------+--------------------------------------+
| country | distinct_customers_with_open_invoice |
+---------+--------------------------------------+
| BR | 1 |
| CZ | 1 |
| UA | 2 |
+---------+--------------------------------------+
Fonctions associées
La fonction HLL_COUNT_EXTRACT 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 la rubrique HyperLogLog++ Functions Overview.