Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

quantilesPrometheusHistogram

quantilesPrometheusHistogram

Introducido en: v25.10.0

Calcula múltiples cuantiles de un histograma mediante interpolación lineal en distintos niveles de forma simultánea, teniendo en cuenta el valor acumulado y los límites superiores de cada bucket del histograma.

Esta función es equivalente a quantilePrometheusHistogram, pero permite calcular varios niveles de cuantiles en una sola pasada, lo que resulta más eficiente que llamar a funciones de cuantiles individuales.

Sintaxis

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

Parámetros

  • level — Niveles de cuantiles. Uno o más números constantes de coma flotante entre 0 y 1. Recomendamos usar valores de level en el intervalo [0.01, 0.99]. Float64

Argumentos

  • bucket_upper_bound — Límites superiores de los buckets del histograma. El bucket más alto debe tener un límite superior de +Inf. Float*
  • cumulative_bucket_value — Valores acumulados de los buckets del histograma. Los valores deben aumentar de forma monótona a medida que aumenta el límite superior del bucket. UInt* o Float*

Valor devuelto

Array de cuantiles de los niveles especificados en el mismo orden en que se especificaron. El tipo de coma flotante del resultado coincide con el tipo de bucket_upper_bound. Array(Float32) o Array(Float64)

Ejemplos

Ejemplo 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