- Catégories :
Fonctions d’agrégation (Frequency Estimation) , Syntaxe et utilisation des fonctions de fenêtre
APPROX_TOP_K_ACCUMULATE¶
Renvoie le résumé Économie d’espace à la fin de l’agrégation. (Pour plus d’informations sur le résumé de Space-Saving, voir Estimation des valeurs fréquentes.)
La fonction APPROX_TOP_K abandonne son état interne intermédiaire lorsque l’estimation finale de cardinalité est renvoyée. Cependant, dans certains cas d’utilisation avancée, comme l’estimation de valeurs incrémentales fréquentes pendant le chargement en masse, vous pouvez vouloir conserver l’état intermédiaire, auquel cas vous utiliseriez APPROX_TOP_K_ACCUMULATE au lieu de APPROX_TOP_K
Contrairement à APPROX_TOP_K, APPROX_TOP_K_ACCUMULATE ne renvoie pas une estimation de la fréquence des éléments. Au lieu de cela, il renvoie l’état de l’algorithme lui-même. Plus tard, l’état intermédiaire peut être :
Combiné (c.-à-d. fusionné) avec des états intermédiaires à partir de lots de données distincts mais connexes.
Traité par d’autres fonctions qui agissent directement sur l’état intermédiaire, par exemple, APPROX_TOP_K_ESTIMATE. (Pour un exemple, voir la section Exemples ci-dessous.)
Exporté vers des outils externes.
- Voir aussi :
Syntaxe¶
Arguments¶
exprL’expression (par exemple, nom de colonne) pour laquelle vous souhaitez rechercher les valeurs les plus courantes.
countersIl s’agit du nombre maximal de valeurs distinctes pouvant être suivies simultanément pendant le processus d’estimation.
Par exemple, si
countersest défini sur 100000, l’algorithme suit 100 000 valeurs distinctes, en essayant de conserver les 100 000 valeurs les plus fréquentes.Le nombre maximal de
countersest100000(100 000).
Notes sur l’utilisation¶
Les valeurs décimales à virgule flottante (DECFLOAT) ne sont pas prises en charge.
Exemples¶
Cet exemple montre comment utiliser les trois fonctions associées APPROX_TOP_K_ACCUMULATE, APPROX_TOP_K_ESTIMATE et APPROX_TOP_K_COMBINE.
Note
Cet exemple utilise plus de compteurs que de valeurs de données distinctes afin d’obtenir des résultats cohérents. Dans les applications réelles, le nombre de valeurs distinctes étant généralement plus grand que le nombre de compteurs, les approximations peuvent donc varier.
Cet exemple génère un tableau de 8 lignes ayant des valeurs de 1 à 8 et un deuxième tableau de 8 lignes ayant des valeurs de 5 à 12. Ainsi, les valeurs les plus fréquentes dans l’union des deux tables sont les valeurs 5-8, où chacune des valeurs a un compte de 2.
Créez une table et des données simples :
Create a table that contains the « state » that represents the current
approximate Top K 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 valeur Top K approximative de l’ensemble des rangées combinées :