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');
참고
728x90
'빅데이터(BigData) > Hive' 카테고리의 다른 글
hive에서 날짜를 더하거나 빼기 (0) | 2021.04.14 |
---|---|
hive 테이블에 한번에 여러 파티션에 insert 하기 (0) | 2021.02.23 |
hive 테이블에 insert overwrite 하기 (0) | 2021.02.23 |
hive에서 선택한 일자의 월요일 일자 가져오기 (0) | 2020.11.18 |
hive 테이블 파티션 확인하기 (0) | 2020.02.25 |