빅데이터(BigData)/Hive

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

leebaro 2020. 1. 2.
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