- Catégories :
Fonctions d’agrégation (estimation de la cardinalité), Fonctions de fenêtre (estimation de la cardinalité)
HLL_ACCUMULATE¶
Renvoie l’état HyperLogLog à la fin de l’agrégation.
Pour plus d’informations sur HyperLogLog, voir Le nombre de valeurs distinctes..
HLL rejette son état intermédiaire lorsque l’estimation de cardinalité finale est renvoyée. Dans les cas d’utilisation avancés, tels que l’estimation de la cardinalité incrémentielle pendant le chargement en bloc, il peut être souhaitable de conserver l’état intermédiaire. L’état intermédiaire peut ensuite être combiné (fusionné) avec d’autres états intermédiaires ou peut être exporté vers des outils externes.
Contrairement à HLL, HLL_ACCUMULATE ne renvoie pas d’estimation de cardinalité. Au lieu de cela, il saute la dernière étape d’estimation et renvoie l’état de l’algorithme lui-même. L’état est un binaire de 4096 octets au maximum. Pour plus d’informations, voir Le nombre de valeurs distinctes..
- Voir aussi :
Syntaxe¶
Fonction d’agrégation
Fonction de fenêtre
Pour plus d’informations sur la clause OVER, consultez Syntaxe et utilisation des fonctions de fenêtre.
Arguments¶
exprL’expression pour laquelle vous souhaitez estimer la cardinalité (nombre de valeurs distinctes). Il s’agit généralement d’un nom de colonne, mais il peut s’agir d’une expression plus générale.
Notes sur l’utilisation¶
Cette fonction peut être utilisée comme fonction d’agrégation ou comme fonction de fenêtre.
DISTINCT est pris en charge syntaxiquement, mais n’a aucun effet.
Exemples¶
Ceci montre une étape de l’estimation du nombre de codes postaux distincts dans la ou les provinces du Canada. Dans cette étape, nous calculons le nombre approximatif de codes postaux distincts au Manitoba et stockons une représentation interne de « l’état » du calcul, que nous pourrons ensuite combiner avec des informations similaires pour d’autres provinces :
Here is another example. This example shows how to use the three related functions HLL_ACCUMULATE, HLL_ESTIMATE, and HLL_COMBINE.
Créez une table et des données simples :
Create a table that contains the « state » that represents the current
approximate cardinality information for the table named sequence_demo:
Now create a second table and add data. (In a more realistic situation, the user could have loaded more data into the first table and divided the data into non-overlapping sets based on the time that the data was loaded.)
Obtenez les informations « d’état » pour les nouvelles données uniquement.
Combiner les informations « d’état » pour les deux lots de lignes :
Obtenez la cardinalité approximative de l’ensemble combiné de lignes :