HLL_COUNT.INIT |
Initie le compteur |
| BigQuery |
Syntaxe
|
HLL_COUNT.INIT(input [, precision])
|
Paramètres
| Nom |
Description |
| input |
Ce paramètre permet de spécifier la colonne ou l'expression de données pour laquelle vous souhaitez commencer à construire un résumé HyperLogLog++. La fonction utilisera les valeurs de cette entrée pour initialiser le "sketch" (esquisse). |
| precision |
Ce paramètre facultatif permet de définir la précision du "sketch" HyperLogLog++. Il s'agit d'un entier entre 10 et 24 inclus. Une valeur plus élevée augmente la précision de l'estimation du nombre d'éléments distincts, mais en contrepartie, augmente également la taille du "sketch". Si ce paramètre n'est pas spécifié, BigQuery utilise une précision par défaut. |
Description
Cette fonction permet d'initialiser un nouveau résumé HyperLogLog++.
Remarques
- Point de départ de tout traitement HyperLogLog++ : La fonction HLL_COUNT.INIT constitue la première étape pour utiliser l'algorithme HyperLogLog++ dans
BigQuery. Elle crée une représentation compressée appelée "sketch", à partir d'une colonne ou expression, sur laquelle on pourra ensuite appliquer d'autres
fonctions comme MERGE ou EXTRACT.
- Optimisation du comptage des éléments distincts à grande échelle : Cette fonction est particulièrement utile lorsque l'on veut compter rapidement et efficacement
des valeurs distinctes dans des ensembles de données très volumineux. Elle évite le recours à COUNT(DISTINCT ...), beaucoup plus coûteux en ressources pour de grandes quantités
de données.
- Le paramètre precision permet d'ajuster l'équilibre entre performance et exactitude : En spécifiant la précision (entre 10 et 24), on peut contrôler
la taille mémoire du sketch et la marge d'erreur de l'estimation finale. Une précision plus élevée réduit l'erreur mais consomme plus de mémoire. Cela permet de s'adapter
aux contraintes spécifiques de chaque cas d'usage.
- Le sketch généré peut être stocké, transféré ou fusionné : La sortie de HLL_COUNT.INIT peut être entreposée dans une table intermédiaire ou fusionnée avec
d'autres sketches via HLL_COUNT.MERGE. Cette propriété rend la fonction adaptée aux systèmes de calcul distribués ou aux architectures à plusieurs niveaux d'agrégation.
- Utilisable dans les requêtes GROUP BY pour des agrégations parallèles : Lorsqu'on utilise HLL_COUNT.INIT dans un contexte de regroupement (GROUP BY), on peut
initialiser un sketch par groupe, ce qui facilite le calcul d'estimations distinctes par segment (par ex., par région, par utilisateur, ou par période).
- Fonctionne avec différents types de données hachables : La fonction accepte tout type de données que l'on peut convertir en hash, comme des chaînes de
caractères, des entiers ou des identifiants. Cela permet de l'utiliser pour des cas variés : IP uniques, utilisateurs, transactions, événements,...
- Nécessite une étape d'extraction finale pour obtenir un nombre : Par elle-même, HLL_COUNT.INIT ne donne pas une valeur numérique. Il faut obligatoirement
l'utiliser avec HLL_COUNT.EXTRACT pour obtenir l'estimation du nombre d'éléments distincts. C'est donc une fonction intermédiaire dans une chaîne de traitement.
- Idéale pour la modularisation et la réutilisation dans des pipelines analytiques : Grâce à son format de sortie structuré, le sketch peut être réutilisé
à différents niveaux d'un pipeline analytique. Par exemple, on peut initialiser des sketches dans des tables journalières, puis les fusionner mensuellement avant
d'extraire l'estimation globale.
Dernière mise à jour : Jeudi, le 18 Juin 2020