Data Engineering/Hive
[Hive] Table Migration 하기
keyhong-DE
2023. 11. 26. 11:05
Hive Table Migration
1. 파티션 확인
show PARTITIONS <테이블명>;
2. External에서만 drop 하기 (메타 데이터 drop)
ALTER TABLE <테이블명> DROP IF EXISTS PARTITION (<파티션 컬럼> = <value>);
- ☆ 주의점 !! : 만약 EXTERNAL='FALSE' 설정시 테이블을 drop하면 실제 물리적 파일도 같이 삭제된다.
- 따라서 Internal에서 drop 하기 전에는 반드시 메타데이터와 실제 물리적 데이터의 연결을 해제해줘야 한다.
ALTER TABLE <테이블명> SET TBLPROPERTIES('EXTERNAL' = 'TRUE');
3. 테이블 이름 변경
ALTER TABLE <이전 테이블명> RENAME TO <새로운 테이블명>;
4. 기존 폴더에 있던 파일들을 새로 옮기려는 테이블의 경로로 물리적 파일을 Move
5. 파일 경로 설정
ALTER TABLE <새로운 테이블명> SET LOCATION <경로> 'hdfs:/DM/soss.db/DW_PCEL_TMZN_SXDS_AGGR_TY_STT'
6. 파티션 생성
ALTER TABLE <새로운 테이블명> ADD PARTITION (<파티션 컬럼명> = <value>);
7. Internal 파티션 폴더 통계 정보 기입
ANALYZE TABLE <새로운 테이블명> PARTITION (<파티션 컬럼> = <value>) COMPUTE STATISTICS;