quantileGK
quantileGK
숫자 데이터 수열에서 Greenwald–Khanna(GK) 알고리즘을 사용해 근사 분위수를 계산하는 함수입니다. 메모리 사용량을 compression 매개변수로 조절할 수 있어 저장 공간과 정확도(속도) 사이의 균형을 직접 정할 수 있습니다.
출처: 문서
본문
QuantileGK 함수는 level이 지정한 분위수 레벨에서 숫자 데이터 수열의 근사 분위수를 계산합니다. Greenwald–Khanna 알고리즘은 고정된 메모리 예산 안에서 분위수를 근사하며, compression 값이 클수록 더 정확한(더 많은 메모리를 쓰는) 결과를 얻고 작을수록 메모리를 절약합니다.
이 함수는 quantile, quantileExact, quantileTiming 등과 같은 다른 분위수 함수의 대안으로 사용할 수 있습니다.
도입 버전: v21.9.10
Syntax
quantileGK(level, compression)(expr)
Parameters
level— 분위수 수준.0부터1사이의 상수 값입니다. 낮을수록 낮은 분위수를, 높을수록 높은 분위수를 반환합니다.compression— 메모리 사용량과 정확도를 조절하는 상수 값입니다. 값이 작을수록 메모리를 적게 쓰고 계산이 빨라지며, 클수록 메모리를 더 쓰고 정확도가 높아집니다.
Arguments
expr— 값 열에 대한 표현식.(U)Int*,Float*,Decimal*등 숫자 타입의 결과를 반환해야 합니다.
Returned value
- 주어진
level의 근사 분위수 값.Float64
Example
SELECT quantileGK(0.99, 1000)(number) FROM numbers(10000);
더 알아보기 (Learn more)
- quantilesGK — 여러 수준의 근사 분위수를 한 번에 계산
- quantile — reservoir sampling 기반 근사 분위수
- quantileTDigest — t-digest 기반 근사 분위수