IDSET 함수

IDSET 함수

Apache Pinot의 IDSET 집계 함수는 컬럼의 고유 값 집합을 나타내는 직렬화된 IdSet을 반환해요. IdSet은 INT 컬럼은 RoaringBitmap, LONG 컬럼은 Roaring64NavigableMap, 그 외 타입은 BloomFilter로 구현돼요. 직렬화된 IdSet은 IN_ID_SET 필터와 함께 쓰면 효율적인 사전 계산 필터링에 유용해요.

출처: 문서

본문

IDSET 함수는 컬럼의 고유 값 집합을 나타내는 직렬화된 IdSet을 반환하는 집계 함수예요. IdSet은 INT 컬럼은 RoaringBitmap, LONG 컬럼은 Roaring64NavigableMap, 그 외 타입은 BloomFilter로 구현돼요. 직렬화된 IdSet은 IN_ID_SET 필터와 함께 쓰면 효율적인 사전 계산 필터링에 유용해요.

선택 파라미터로 IdSet 타입과 속성을 구성할 수 있어요.

시그니처

IDSET(colName)

IDSET(colName, 'parameters')

지원 파라미터 (세미콜론으로 구분):

Parameter Description Default
sizeThresholdInBytes Maximum size before switching to BloomFilter 8MB
expectedInsertions Expected number of insertions for BloomFilter 5000000
fpp False positive probability for BloomFilter 0.03

사용 예시

아래 예시는 Batch Quick Start를 기반으로 해요.

select IDSET(playerID) AS value
from baseballStats
WHERE yearID = 2000
select IDSET(playerID, 'sizeThresholdInBytes=1048576;expectedInsertions=5000000;fpp=0.03') AS value
from baseballStats

결과 IdSet은 이후 쿼리에서 사용할 수 있어요:

select playerName
from baseballStats
WHERE IN_ID_SET(playerID, '<base64-encoded-idset>') = 1

더 알아보기 (Learn more)