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 delevelen 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*oFloat*
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] │
└────────────────────────────────────────────────────────────────────────────────────────────┘