uniqTheta
uniqTheta
Theta Sketch Framework를 사용해 서로 다른 인자 값의 개수를 근사 계산하는 집계 함수예요. KMV 알고리즘 기반으로 상대 오차가 일정해요.
출처: 문서
본문
uniqTheta는 Theta Sketch Framework를 사용해 서로 다른 인자 값의 개수를 근사 계산해요.
구현 세부 사항
이 함수는 집계의 모든 인자에 대한 해시를 계산한 다음 이를 계산에 사용해요. KMV 알고리즘을 사용해 서로 다른 인자 값의 개수를 근사해요. 4096(2^12)개의 64비트 스케치를 사용해요. 상태 크기는 약 41KB예요. 상대 오차는 3.125%(95% 신뢰 수준)이며, 자세한 내용은 상대 오차 표를 참고해요.
구문 (Syntax)
uniqTheta(x[, ...])
인자 (Arguments)
반환 값 (Returned value)
서로 다른 인자 값의 근사 개수를 나타내는 UInt64 타입 숫자. UInt64
예제 (Examples)
기본 사용
쿼리:
CREATE TABLE example_theta
(
id UInt32,
category String
)
ENGINE = Memory;
INSERT INTO example_theta VALUES
(1, 'A'), (2, 'B'), (3, 'A'), (4, 'C'), (5, 'B'), (6, 'A');
SELECT uniqTheta(category) as theta_unique_categories
FROM example_theta;
응답:
┌─theta_unique_categories─┐
│ 3 │
└─────────────────────────┘