티스토리 뷰
반응형
Hive 에서 list 와 같이 N개의 아이템이 담기는 필드를 행으로 풀어낼때 explode 쿼리를 사용한다. 하지만 flink 에서는 아무리 검색해도 해당 문법이 잘 안나오는데 그 이유는 hive 에서는 explode 라는 문법을 쓰지만 flink sql 에서는 cross join unnest 라는 문법을 사용해야 하기 때문에 검색이 안된 문제였다.
explode 쿼리 예시
100번의 설명보다는 하나의 예시가 더 도움이 될것같아 예시를 들어보겠다.
다음과 같이 authros 필드에 n개의 필드가 1개의 row 를 풀어내려면 어떻게 해야할까?
Flink SQL 로 표현하면 아래와 같이 cross join unnest 를 이용해 표현 가능하다.
SELECT
book_title,
price,
author.name as author_name,
author.comment as author_comment
FROM
myBooks as t CROSS JOIN UNNEST(t.authors) as author
flink document 상에서는 join 절에 있으니 참고하자.
반응형
'데이터처리 > Flink' 카테고리의 다른 글
[FLINK] _metadata 파일 확인하는 방법 (savepoint, checkpoint) (0) | 2022.06.24 |
---|---|
[FLINK] TIMESTAMP vs TIMESTAMP_LTZ 필드 타입 차이 (0) | 2022.06.10 |
Flink Application 개발시 Avro 라이브러리 충돌 문제 해결방법 (0) | 2022.05.27 |
[Flink] Could not acquire the minimum required resources 이유와 해결방법 (0) | 2022.05.24 |
Flink 1.15 버전에서 HA 설정시 오류가 발생하는 경우 - 주키퍼 버전 (0) | 2022.05.22 |
댓글