Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

quantilesPrometheusHistogram

quantilesPrometheusHistogram

Introduzido em: v25.10.0

Calcula vários quantis de um histograma usando interpolação linear em diferentes níveis ao mesmo tempo, levando em consideração o valor cumulativo e os limites superiores de cada bucket do histograma.

Esta função é equivalente a quantilePrometheusHistogram, mas permite calcular vários níveis de quantil em uma única passagem, o que é mais eficiente do que chamar funções de quantil individualmente.

Sintaxe

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

Parâmetros

  • level — Níveis dos quantis. Um ou mais números de ponto flutuante constantes de 0 a 1. Recomendamos usar valores de level no intervalo [0.01, 0.99]. Float64

Argumentos

  • bucket_upper_bound — Limites superiores dos buckets do histograma. O bucket mais alto deve ter um limite superior de +Inf. Float*
  • cumulative_bucket_value — Valores cumulativos dos buckets do histograma. Os valores devem aumentar monotonicamente à medida que o limite superior do bucket aumenta. UInt* ou Float*

Valor retornado

Array de quantis dos níveis especificados, na mesma ordem em que os níveis foram especificados. O tipo de ponto flutuante do resultado corresponde ao tipo de bucket_upper_bound. Array(Float32) ou Array(Float64)

Exemplos

Exemplo de uso

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