최종 수정: 에
EXPLODE_BITMAP_OUTER
설명
explode_bitmap_outer 테이블 함수는 bitmap 타입의 데이터를 받아 bitmap의 각 비트를 개별 행에 매핑합니다.
이 함수는 bitmap 데이터를 처리할 때 주로 사용하며, bitmap의 각 요소를 개별 레코드로 확장합니다. LATERAL VIEW와 함께 사용해야 합니다.
explode_bitmap_outer는 explode_bitmap과 유사하지만, 비어 있거나 NULL인 값을 처리할 때 다르게 동작합니다. 비어 있거나 NULL인 bitmap을 가진 레코드도 유지하며, 결과에서 이를 NULL 행으로 확장합니다.
구문
EXPLODE_BITMAP_OUTER(<bitmap>)
매개변수
<bitmap>BITMAP타입
반환값
<bitmap>의 각 비트에 대해 행을 반환하며, 각 행에는 비트 값이 포함됩니다.<bitmap>이 NULL이면 NULL을 포함하는 1개 행을 반환합니다.<bitmap>이 비어 있으면 NULL을 포함하는 1개 행을 반환합니다.
사용 시 참고 사항
<bitmap>매개변수가BITMAP타입이 아니면 오류가 발생합니다.
예제
- 데이터 준비
create table example(
k1 int
) properties(
"replication_num" = "1"
);
insert into example values(1); - 일반 매개변수
select k1, e1 from example lateral view explode_bitmap_outer(bitmap_from_string("1,3,4,5,6,10")) t2 as e1 order by k1, e1;+------+------+
| k1 | e1 |
+------+------+
| 1 | 1 |
| 1 | 3 |
| 1 | 4 |
| 1 | 5 |
| 1 | 6 |
| 1 | 10 |
+------+------+ - 비어 있는 BITMAP
select k1, e1 from example lateral view explode_bitmap_outer(bitmap_from_string("")) t2 as e1 order by k1, e1;+------+------+
| k1 | e1 |
+------+------+
| 1 | NULL |
+------+------+ - NULL 매개변수
select * from example lateral view explode_bitmap_outer(NULL) t2 as c;+------+------+
| k1 | e1 |
+------+------+
| 1 | NULL |
+------+------+ - 배열이 아닌 매개변수
select * from example lateral view explode_bitmap_outer('abc') t2 as c;ERROR 1105 (HY000): errCode = 2, detailMessage = Can not find the compatibility function signature: explode_bitmap_outer(VARCHAR(3))