arraysOverlap

arraysOverlap

arraysOverlap 함수는 같은 요소 타입을 가진 두 배열이 서로 하나 이상의 값을 공유하는지 검사하는 함수예요.

출처: 문서

본문

두 배열이 같은 요소 타입을 가지고 하나 이상의 값을 공유하면 true를 반환해요.

시그니처 (Signature)

ARRAYS_OVERLAP(array1, array2)

Pinot은 ARRAYSOVERLAP 표기법도 함께 지원해요.

지원 타입 (Supported Types)

Array Type Return Type
INT[] BOOLEAN
LONG[] BOOLEAN
FLOAT[] BOOLEAN
DOUBLE[] BOOLEAN
BIG_DECIMAL[] BOOLEAN
STRING[] BOOLEAN
BYTES[] BOOLEAN

두 인자는 모두 같은 배열 타입이어야 해요.

사용 예시 (Usage Examples)

다음 예시는 Pinot의 통합 테스트에서 가져온 것이에요.

SELECT ARRAYS_OVERLAP(ARRAY[1, 2], ARRAY[3, 2]) AS hasOverlap

true를 반환해요.

SELECT ARRAYS_OVERLAP(ARRAY['a', 'b'], ARRAY['x', 'y']) AS hasOverlap

false를 반환해요.

SELECT COUNT(*)
FROM myTable
WHERE ARRAYS_OVERLAP(longArrayCol, ARRAY[CAST(2 AS BIGINT), CAST(10 AS BIGINT)])

longArrayCol이 필터 배열과 하나 이상의 값을 공유하는 모든 행을 반환해요.

다중 값 BYTES 컬럼에는 배열 안에 SQL 바이너리 리터럴을 사용해요:

SELECT id, byte_values
FROM events
WHERE ARRAYS_OVERLAP(byte_values, ARRAY[X'0102', X'CAFE'])

저장된 컬럼은 Pinot 스키마에서 "dataType": "BYTES"와 "singleValueField": false를 사용해요. 쿼리 응답 값은 16진수 문자열이에요.

더 알아보기 (Learn more)