quantilesPrometheusHistogram
도입 버전: v25.10.0
서로 다른 수준에서 선형 보간을 사용해 히스토그램의 여러 분위수를 동시에 계산합니다. 이때 각 히스토그램 버킷의 누적 값과 상한 경계를 고려합니다.
이 함수는 quantilePrometheusHistogram와 동일하지만, 여러 분위수 수준을 단일 패스로 계산할 수 있어 개별 분위수 함수를 각각 호출하는 것보다 더 효율적입니다.
구문
quantilesPrometheusHistogram(level1, level2, ...)(bucket_upper_bound, cumulative_bucket_value)매개변수
level— 분위수 수준입니다. 0과 1 사이의 상수 부동소수점 수를 하나 이상 지정합니다.level값은[0.01, 0.99]범위에서 사용하는 것을 권장합니다.Float64
인수
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] │
└────────────────────────────────────────────────────────────────────────────────────────────┘