quantilesPrometheusHistogram
導入バージョン: v25.10.0
累積値と各ヒストグラムバケットの上限を考慮しながら、異なるレベルにおけるヒストグラムの複数の分位点を、線形補間を用いて同時に計算します。
この関数は quantilePrometheusHistogram と同等ですが、1 回の処理で複数の分位レベルを計算できるため、個別の分位点関数を呼び出すよりも効率的です。
構文
quantilesPrometheusHistogram(level1, level2, ...)(bucket_upper_bound, cumulative_bucket_value)パラメータ
level— 分位点のレベル。0 から 1 までの定数の浮動小数点数を 1 つ以上指定します。levelの値には[0.01, 0.99]の範囲を使用することを推奨します。Float64
引数
bucket_upper_bound— ヒストグラムのバケットの上限。最も大きいバケットの上限は+Infでなければなりません。Float*cumulative_bucket_value— ヒストグラムのバケットの累積値。バケットの上限が大きくなるにつれて、値は単調増加でなければなりません。UInt*またはFloat*
戻り値
指定したレベルの分位点を、指定したレベルと同じ順序で格納した Array。結果の浮動小数点型は 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] │
└────────────────────────────────────────────────────────────────────────────────────────────┘