복붙노트

[HADOOP] 하나의 스크립트를 사용하여 여러 달 동안 하이브 파티션 만들기

HADOOP

하나의 스크립트를 사용하여 여러 달 동안 하이브 파티션 만들기

나는 4 년간의 데이터를 가지고있다. 처럼

'2011
 2012
 2013
 2014'

한 달의 데이터를 기반으로 쿼리를 실행해야합니다. 그래서 나는 아래와 같이 파티션을 만들고 있습니다.

'ALTER TABLE table1_2010Jan ADD PARTITION(year='2010', month='01', day='01')
 LOCATION 'path';
 ALTER TABLE table1_2010Jan ADD PARTITION(year='2010', month='01', day='02')
 LOCATION 'path';
 ALTER TABLE table1_2010Jan ADD PARTITION(year='2010', month='01', day='03')
 LOCATION 'path';'

매월 매일 같은 위의 개별 파티션을 만듭니다.

우리는 스크립트 (모든 언어)를 작성하여 매년 한 달에 한 번씩이 파티션을 생성 할 수 있는지 알고 싶습니다. 또는 하이브 자체에서이 작업을 수행하는 방법이 있습니다.

어떤 제안이라도 ..

해결법

  1. ==============================

    1.외부 테이블에 대해서는 하이브가 할 수 없습니다. shell / perl 스크립트를 만들어 루프를 사용하여 동일한 작업을 수행 할 수 있습니다.

    외부 테이블에 대해서는 하이브가 할 수 없습니다. shell / perl 스크립트를 만들어 루프를 사용하여 동일한 작업을 수행 할 수 있습니다.

    하이브 관리 테이블의 경우 MSCK REPAIR 명령을 사용하여 쉽게 수행 할 수 있습니다.

    https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-RecoverPartitions%28MSCKREPAIRTABLE%29

    데이터로드가 올바른 파티션인지 확인해야합니다.

  2. from https://stackoverflow.com/questions/23766449/creating-hive-partitions-for-multiple-months-using-one-script by cc-by-sa and MIT license