La fonction HLL_COUNT_INIT agrège des valeurs de même type pour générer une nouvelle 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 exclusivement de la fonction HLL_COUNT_INIT ; elles ne peuvent pas être issues d'autres systèmes ou méthodes.
Syntaxe
BINARY HLL_COUNT_INIT(<col_name> [, BIGINT <precision>])
Paramètres
col_name : obligatoire. Nom de la colonne de la table. Les types pris en charge sont BIGINT, DECIMAL, STRING ou BINARY.
precision : facultatif. Précision de l'estimation, comprise entre [10,24] (valeur par défaut : 15). Type BIGINT. Plus la valeur est élevée, plus la précision de l'estimation est grande, mais l'espace de stockage requis pour le sketch augmente également.
Valeur de retour
Renvoie un sketch HLL++ de type BINARY. Si la valeur du paramètre col_name est NULL, la fonction renvoie NULL.
Pour fusionner des sketches, utilisez les fonctions HLL_COUNT_MERGE ou HLL_COUNT_MERGE_PARTIAL.
Pour obtenir le nombre de valeurs distinctes, utilisez la fonction HLL_COUNT_EXTRACT.
Exemples
La requête suivante crée des sketches HLL++ afin de calculer le nombre de personnes physiques ayant émis des factures dans chaque pays.
SELECT
country,
HLL_COUNT_INIT(customer_id, 10) 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 retourné :
+---------+------------+
| country | hll_sketch |
+---------+------------+
| BR | =02=01=0A=00=01=00=00=00=20s=8E=00 |
| CZ | =02=01=0A=00=01=00=00=00=98_$=03 |
| UA | =02=01=0A=00=02=00=00=00=F0=8B=DD=00=98_$=03 |
+---------+------------+
Fonctions associées
La fonction HLL_COUNT_INIT fait partie des fonctions HyperLogLog++. MaxCompute propose une série de fonctions d'agrégation approximative HyperLogLog++. Pour plus d'informations sur les fonctions connexes, consultez la page HyperLogLog++ Functions Overview.