빅데이터(BigData)/Hive

Hive에서 파티션을 기준으로 데이터 삭제하기

leebaro 2020. 1. 2. 18:30
728x90

Hive에서 데이터를 빠르게 삭제하는 방법은 파티션 기준으로 데이터를 삭제하는 것입니다.

파티션을 기준으로 데이터를 삭제하기 위해서는 데이터를 삭제하려는 기준이 파티션을 분할한 기준과 일치해야 합니다.

 

ALTER TABLE table_name DROP PARTITION(파티션 분할 기준 컬럼='파티션명');

 

위와 같이 파티션 분할 기준 컬럼과 파티션명을 이용하여 데이터를 삭제할 수 있습니다.

 

예를들어 보겠습니다.

아래 테이블은 2019년 1월부터 12월까지의 매출 데이터가 있는 테이블입니다.

테이블명 : FACT_SALES

파티션 기준 컬럼 :  BASE_YM

파티션명 : 201901,201902.....201912

 

위의 테이블에서 2019년 03월 데이터만 삭제할 경우 아래와 같이 할 수 있습니다.

ALTER TABLE FACT_SALES DROP PARTITION(BASE_YM='201903');

 

2019년 3월 이전 데이터를 모두 삭제할 경우 아래와 같습니다.

ALTER TABLE FACT_SALES DROP PARTITION(BASE_YM<='201903');

 

아래 스크립트는 2019년 3월 이후의 모든 데이터와 2019년 6월 이전의 모든 데이터가 삭제되기 때문에 주의해야 합니다. 

ALTER TABLE FACT_SALES DROP PARTITION(BASE_YM>'201903'), PARTITION(BASE_YM<'201906');

 


참고

https://118k.tistory.com/780

728x90