quantilesPrometheusHistogram
引入版本:v25.10.0
使用线性插值在不同级别上一并计算 Prometheus 直方图的多个分位数,同时考虑每个直方图 bucket 的累计值和上界。
此函数等同于 quantilePrometheusHistogram,但支持在单次遍历中计算多个分位数级别,因此比分别调用各个分位数函数更高效。
语法
quantilesPrometheusHistogram(level1, level2, ...)(bucket_upper_bound, cumulative_bucket_value)参数
level— 分位数的级别。一个或多个介于 0 到 1 之间的常量浮点数。建议将level的值设在[0.01, 0.99]范围内。Float64
Arguments
bucket_upper_bound— 直方图桶的上界。最高的桶的上界必须为+Inf。Float*cumulative_bucket_value— 直方图桶的累计值。随着桶上界的增大,这些值必须单调递增。UInt*或Float*
返回值
按指定级别的顺序返回对应的分位数数组。结果的浮点类型与 bucket_upper_bound 的类型一致。Array(Float32) 或 Array(Float64)
示例
使用示例
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] │
└────────────────────────────────────────────────────────────────────────────────────────────┘