개발지식 아카이브/Data - Hadoop

[Hive] insert overwrite 중에 데이터가 없어도 파티션이 생겼으면 할 때

민서_Soya 2025. 8. 22. 16:05

 

 

 

[요건 정의]

Hive 테이블의 특정 파티션에 대해 insert overwrite로 데이터 재생성중이다. 이 때 row가 없어도 파티션 폴더는 생겼으면 함

 

[문제 상황]

row가 없는 경우에 물리적 파티션 폴더가 생기지 않고, 사라져 버림...

 

[해결 방법]

1. 해당 파티션을 ALTER 테이블 DROP PARTITION 쿼리로 메타스토어에서 삭제한다

2. 삭제한 후 insert overwrite 수행한다

3. 그러면 row가 없어도 파티션 폴더가 생긴다.

 

 

 

데이터 재생성시 발생하는 hive serde 오류인 것 같다.

파티션이 없는 상태에서 최초 실행시에는 디렉토리가 생기는데, 파티션이 있는 상태에서 재실행하면 디렉토리가 사라져버린다;

 

파티션이 없는 상태에서, 최소 실행이어야 row가 없어도 파티션 폴더가 생기는듯 하다....

 

GPT도 해결 방법을 알려주지 않아서 헤맸다...ㅠㅠ 트러블 슈팅 경험 기록해둡니다!