SEGMENTPARTITIONEDDISTINCTCOUNT 함수
SEGMENTPARTITIONEDDISTINCTCOUNT 함수
Apache Pinot의 SEGMENTPARTITIONEDDISTINCTCOUNT 집계 함수는 각 세그먼트에 대해 컬럼이 미리 파티셔닝되어 있고 서로 다른 세그먼트 간에 공통 값이 없을 때, 그 컬럼의 고유 값 개수를 반환해요. 이 함수는 세그먼트 내 고유 값의 정확한 개수를 계산한 뒤 서로 다른 세그먼트의 결과를 단순히 합산해 최종 결과를 얻어요. 세그먼트가 파티셔닝된 고유 카운트를 빠르게 구할 때 유용해요.
출처: 문서
본문
SEGMENTPARTITIONEDDISTINCTCOUNT 함수는 각 세그먼트에 대해 컬럼이 미리 파티셔닝되어 있고 서로 다른 세그먼트 간에 공통 값이 없을 때 그 컬럼의 고유 값 개수를 반환하는 집계 함수예요. 이 함수는 세그먼트 내 고유 값의 정확한 개수를 계산한 뒤 서로 다른 세그먼트의 결과를 단순히 합산해 최종 결과를 구해요.
{% hint style="warning" %} 이 함수는 표현식 값이 각 세그먼트에 대해 파티셔닝되어 있고 서로 다른 세그먼트 간에 공통 값이 없다는 점에 의존해요. {% endhint %}
시그니처
SEGMENTPARTITIONEDDISTINCTCOUNT(colName)
입력 컬럼은 단일값(single-value) 또는 멀티밸류(multi-value)일 수 있어요. 멀티밸류 컬럼의 경우 Pinot은 각 행에 포함된 각 고유 값을 세요. 파티셔닝 요구 사항은 모든 값에 여전히 적용되며, 같은 값이 서로 다른 세그먼트에 나타나면 안 돼요.
고급 null 처리를 켜면 Pinot은 null 행을 건너뛰어요. 고급 null 처리가 없으면 컬럼의 설정된 기본 null 값이 개수에 포함돼요. 함수는 null이 아닌 행이 하나도 기여하지 않으면 0을 반환해요.
사용 예시
아래 예시는 Batch Quick Start를 기반으로 해요.
select SEGMENTPARTITIONEDDISTINCTCOUNT(teamID) AS value
from baseballStats
| value |
|---|
| 149 |