Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

quantilesPrometheusHistogram

quantilesPrometheusHistogram

Introduite dans : v25.10.0

Calcule simultanément plusieurs quantiles d’un histogramme par interpolation linéaire à différents niveaux, en tenant compte de la valeur cumulée et des limites supérieures de chaque bucket de l’histogramme.

Cette fonction est équivalente à quantilePrometheusHistogram, mais elle permet de calculer plusieurs niveaux de quantile en un seul passage, ce qui est plus efficace que d’appeler des fonctions de quantile séparées.

Syntaxe

quantilesPrometheusHistogram(level1, level2, ...)(bucket_upper_bound, cumulative_bucket_value)

Paramètres

  • level — Niveaux des quantiles. Un ou plusieurs nombres constants à virgule flottante de 0 à 1. Nous recommandons d'utiliser des valeurs de level dans la plage [0.01, 0.99]. Float64

Arguments

  • bucket_upper_bound — Limites supérieures des buckets de l'histogramme. Le bucket le plus élevé doit avoir une limite supérieure de +Inf. Float*
  • cumulative_bucket_value — Valeurs cumulées des buckets de l'histogramme. Les valeurs doivent être croissantes de façon monotone à mesure que la limite supérieure du bucket augmente. UInt* ou Float*

Valeur retournée

Array de quantiles pour les niveaux spécifiés, dans le même ordre que celui des niveaux indiqués. Le type à virgule flottante du résultat correspond à celui de bucket_upper_bound. Array(Float32) ou Array(Float64)

Exemples

Exemple d'utilisation

SELECT quantilesPrometheusHistogram(0.25, 0.5, 0.75)(bucket_upper_bound, cumulative_bucket_value)
FROM VALUES('bucket_upper_bound Float64, cumulative_bucket_value UInt64', (0, 6), (0.5, 11), (1, 14), (inf, 19));
┌─quantilesPrometheusHistogram(0.25, 0.5, 0.75)(bucket_upper_bound, cumulative_bucket_value)─┐
│ [0,0.35,1]                                                                                 │
└────────────────────────────────────────────────────────────────────────────────────────────┘
Navigation