PERCENTILEKLL 함수

PERCENTILEKLL 함수

Apache Pinot의 PERCENTILEKLL 집계 함수는 Apache Datasketches의 KLL Doubles Sketch 구현에 기반한 백분위수 계산 함수예요. KLL 스케치는 주어진 정확도에 대해 최적의 공간을 목표로 하는 근사 분위수 알고리즘이에요.

출처: 문서

본문

KLL Sketch는 주어진 정확도에 대해 최적의 공간을 목표로 하는 근사 분위수(quantiles) 알고리즘이에요. PERCENTILEKLL은 Apache Datasketches의 KLL Doubles Sketch 구현에 기반한 백분위수 계산 집계 함수예요.

Pinot은 'raw' 변형 PERCENTILEKLLRAW도 제공하는데, 'rank'나 'histogram' 계산에 쓸 수 있는 직렬화된 스케치를 반환해요.

PercentileKLL의 모든 변형은 Pinot 컬럼의 raw 스케치도 지원해요. 즉 Pinot 밖에서 KLL Doubles 스케치를 만들어 이진 문자열로 컬럼에 수집할 수 있어요. PercentileKLL은 이런 컬럼을 식별하고 병합해 집계 결과를 만들어내요.

시그니처

PercentileKLL(column, percentile, kValue) -> Double

  • column (필수): 집계할 컬럼 이름. 멀티밸류 컬럼이면 PERCENTILEKLLMV 변형을 사용하세요.
  • percentile (필수): 계산할 백분위수 값 [0..100]
  • kValue: 스케치의 크기를 결정하는 정수 값. 기본값은 200이며 약 1.65%의 정규화된 순위 오차에 해당해요. 자세한 내용은 정확도 vs 크기 차트를 참고하세요.

사용 예시

select percentileKLL(ArrDelayMinutes, 90) as DelayP90
from airlineStats
DelayP90
40
select Carrier, percentileKll(ArrDelay, 50, 600) as MedianDelay
from airlineStats
where ArrDelay > 0
group by Carrier
order by 2 desc
limit 3
Carrier MedianDelay
MQ 28
B6 28
EV 24

더 알아보기 (Learn more)