HLL_COUNT.EXTRACT |
Compteur d'extraction |
| BigQuery |
Syntaxe
|
HLL_COUNT.EXTRACT(sketch)
|
Paramètres
| Nom |
Description |
| sketch |
Ce paramètre permet de spécifier le "sketch" (ou esquisse) HyperLogLog++ à partir duquel l'estimation du nombre d'éléments distincts doit être extraite. Ce sketch est généralement le résultat d'une fonction d'agrégation HLL_COUNT.INIT ou HLL_COUNT.MERGE. |
Description
Cette fonction permet d'effectuer une estimation d'un résumé HyperLogLog++.
Remarques
- Fonction d'extraction post-agrégation d'un sketch HyperLogLog++ : La fonction HLL_COUNT.EXTRACT est spécifiquement conçue pour extraire une estimation
numérique à partir d'un sketch HyperLogLog++ préalablement généré. Ce sketch est une structure de données compacte représentant une grande quantité de données avec
une mémoire minimale.
- Complémentarité avec HLL_COUNT.INIT et HLL_COUNT.MERGE : Cette fonction ne peut pas être utilisée seule de manière productive : elle doit être précédée
de l'appel à HLL_COUNT.INIT, qui crée le sketch, ou à HLL_COUNT.MERGE, qui fusionne plusieurs sketches. Elle vient en bout de chaîne pour produire l'estimation finale.
- Utilité pour le comptage de grands volumes sans surcharge mémoire : Grâce à l'approche HyperLogLog++, cette fonction permet d'estimer rapidement le nombre
d'éléments distincts dans des ensembles de données massifs, sans nécessiter de stocker ni de parcourir l'ensemble des données sources, ce qui améliore considérablement
les performances.
- Estimation probabiliste, pas une valeur exacte : Le résultat retourné par HLL_COUNT.EXTRACT est une approximation. Cela implique une marge d'erreur (en
général faible) inhérente à l'algorithme probabiliste HyperLogLog++. Il ne faut donc pas l'utiliser lorsque des comptages exacts sont requis.
- S'applique sur des agrégats intermédiaires pré-calculés : Le paramètre sketch est un objet complexe généré en amont, souvent à l'aide d'agrégats
répartis (dans un GROUP BY, par exemple). Cela permet de distribuer le calcul et de l'optimiser à grande échelle avant de l'extraire sous forme de valeur finale.
- Indépendance du type de données d'origine : HyperLogLog++ ne dépend pas du type exact des valeurs analysées (chaînes, entiers, UUID,...), tant que ces
valeurs peuvent être hachées de manière cohérente. Cela rend la fonction utile dans des cas très variés, comme le comptage de visiteurs uniques, d'adresses
IP, ou de produits.
- Améliore la mise à l'échelle dans des requêtes analytiques complexes : Dans des scénarios de Big Data ou
d'analytique Web, HLL_COUNT.EXTRACT permet d'obtenir des métriques agrégées rapidement, même sur des milliards de lignes. Elle est ainsi utilisée dans des tableaux de bord
ou des processus analytiques temps réel.
- Particulièrement utile dans les systèmes de reporting multi-niveaux : En séparant la création du sketch et l'extraction finale, cette fonction
autorise l'entreposage et la transmission intermédiaires du sketch. Cela permet, par exemple, de calculer des agrégations dans un niveau intermédiaire puis de
les fusionner en aval avant extraction.
Dernière mise à jour : Jeudi, le 18 Juin 2020