ARRAY 전개 결과를 같은 쿼리의 UNION·UNION ALL에 연결하면 planner가 실패한다.
원본의 쿼리 분리 안내를 실제 CTAS 절차로 구체화했다. 정확한 수정 버전과 고객 환경 적용 결과는 확인되지 않았다.
ARRAY 전개 결과를 별도 scalar staging 테이블로 만든 뒤 UNION을 수행한다.
확인 수준: 추가 조사 해법 · 해당 케이스 적용 결과 미확인
적용 조건: <...>와 예시 DB·테이블·경로·수치는 실제 확인값으로 바꾼다. 명령과 메뉴는 참고 문서를 바탕으로 보강한 예시이며 대상 시스템에서 실행하지 않았다. 버전·원인에 따른 분기와 남은 확인 사항은 아래에 명시한다.
items ARRAY<STRING>의 예시다. 각 입력의 데이터 범위를 고정하고 새 staging 이름을 사용한다.CREATE TABLE db.flat_a_review STORED AS PARQUET AS
SELECT e.event_id, a.item AS item_value FROM db.events_a e, e.items a;
CREATE TABLE db.flat_b_review STORED AS PARQUET AS
SELECT e.event_id, a.item AS item_value FROM db.events_b e, e.items a;
SELECT event_id, item_value FROM db.flat_a_review
UNION ALL
SELECT event_id, item_value FROM db.flat_b_review;
UNION을 유지한다. 임의로 UNION ALL로 바꾸지 않는다. 양쪽 컬럼 순서·타입도 맞춘다.전개 행 수와 UNION의 중복 의미가 일치하고 planner 예외 없이 결과가 나오는지 확인한다.