quantileGK
quantile d’une séquence de données numériques à l’aide de l’algorithme de Greenwald-Khanna.
L’algorithme de Greenwald-Khanna sert à calculer des quantiles sur un flux de données de manière très efficace.
Il a été introduit par Michael Greenwald et Sanjeev Khanna en 2001.
Il est largement utilisé dans les bases de données et les systèmes de big data lorsqu’il est nécessaire de calculer en temps réel des quantiles précis sur de grands flux de données.
Cet algorithme est très efficace : il ne nécessite que O(log n) d’espace et O(log log n) de temps par élément (où n est la taille de l’entrée).
Il est également très précis et fournit, avec une forte probabilité, une valeur de quantile approximative.
quantileGK se distingue des autres fonctions de quantile de ClickHouse en ce qu’il permet à l’utilisateur de contrôler la précision du résultat du quantile approximatif.
Syntaxe
medianGK
Paramètres
accuracy— Précision du quantile. Entier positif constant. Plus la valeur de précision est élevée, plus l’erreur est faible. Par exemple, si l’argumentaccuracyest défini sur 100, le quantile calculé aura une erreur d’au plus 1 % avec une forte probabilité. Il existe un compromis entre la précision des quantiles calculés et la complexité de calcul de l’algorithme. Une précision plus élevée nécessite davantage de mémoire et de ressources de calcul pour calculer le quantile avec précision, tandis qu’une valeur de précision plus faible permet un calcul plus rapide et plus économe en mémoire, au prix d’une précision légèrement moindre.UInt*level— Facultatif. Niveau du quantile. Nombre à virgule flottante constant compris entre 0 et 1. Valeur par défaut : 0.5. Àlevel=0.5, la fonction calcule la médiane.Float*
expr— Expression sur les valeurs de la colonne produisant des types de données numériques, Date ou DateTime.(U)Int*ouFloat*ouDecimal*ouDateouDateTime
Float64 ou Date ou DateTime
Exemples
Calcul du quantile avec différents niveaux de précision
Query
Response
Query
Response