DISTINCTCOUNTHLL 함수
DISTINCTCOUNTHLL 함수
Apache Pinot의 DISTINCTCOUNTHLL 집계 함수는 HyperLogLog를 이용해 근사 고유 개수를 반환해요. 선택적으로 두 번째 인자를 받아 HyperLogLog의 log2m을 설정할 수도 있어요. 정확한 중복 집계가 필요하면 DISTINCTCOUNT를 참고하세요.
출처: 문서
본문
DISTINCTCOUNTHLL 함수는 HyperLogLog를 이용해 근사 고유 개수를 반환하는 집계 함수예요. HyperLogLog의 log2m을 설정할 수 있는 선택적 두 번째 인자도 받아요.
정확한 중복 집계는 DISTINCTCOUNT를 참고하세요. 사용 사례에 맞는지는 DISTINCTCOUNTHLL 고려 사항을 검토하세요.
시그니처
DISTINCTCOUNTHLL(colName, log2m)
사용 예시
아래 예시는 Batch Quick Start를 기반으로 해요.
select DISTINCTCOUNTHLL(teamID) AS value
from baseballStats
| value |
|---|
| 158 |
select DISTINCTCOUNTHLL(teamID, 12) AS value
from baseballStats
| value |
|---|
| 149 |
DISTINCTCOUNTHLL 고려 사항
- 데이터가 수집 시 미리 집계되거나 서버에서 충분한 레코드로 집계되면
DISTINCTCOUNTHLL()이DISTINCTCOUNT()보다 빨라요. 이 성능 향상은 큰 데이터셋을 비교할 때 더 커져요. - 매우 적은 레코드가 미리 집계되면 직렬화된 HLL 크기가 개별 값을 보내는 것보다 크기 때문에
DISTINCTCOUNTHLL()이DISTINCTCOUNT()만큼 빠르지 않을 수 있어요. DISTINCTCOUNTHLLPLUS()는 같은 성능으로DISTINCTCOUNTHLL()보다 더 정확한 결과를 제공해요.DISTINCTCOUNTSMARTHLL()은 임계값에 도달하면 자동으로 HLL로 전환하며 약간의 오버헤드가 있어요.DISTINCTCOUNTSMARTHLLPLUS()은 임계값에 도달하면 자동으로 HLLPlus로 전환하며 약간의 오버헤드가 있어요.