티스토리 뷰

 

crontab은 주기적으로 지정한 시간에 지정한 작업을 하도록 설정할 수 있다. 이런 기능을 활용하여 지정한 시간에 hive partition 만들기를 적용해 보자.

아래 명령어를 통해 contab을 편집해보자.

crontab -e

00 01 * * 0 /home/hadoop/cluster/env.sh /home/hadoop/cluster/hive_partition/add_partition_table_1w.sh > /tmp/add_partition_table_1w.log 2>&1

매주 일요일 01시에 add_partition_table_1w.sh을 실행하게 했으며 add_partition_table_1w.log 파일에 로그를 적재하도록 설정하였다.

 

add_partition_table_1w.sh

/home/hadoop/servers/apache-hive-1.2.1-bin/bin/hive -hiveconf dt=${dt} -f /home/hadoop/cluster/hive_partition/add_partition_table_1w.hql

add_partition_table_1w.sh 에는 hive가 설치된 경로에서 -hiveconf 옵션을 설정하여 값 dt를 세팅한다. 또한 -f 옵션을 설정하여 app_partition_table_1w.hql 파일을 실행한다.

 

app_partition_table_1w.hql

USE 데이터베이스;
ALTER TABLE 테이블명 ADD IF NOT EXISTS PARTITION(dt='${hiveconf:dt}');

사용할 데이터베이스를 지정하고, hiveconf 설정값 dt로 파티션을 생성한다.

 

예를 들은 파티션 주기는 주 단위인데 분단위, 일단위, 월 단위 얼마든지 상황에 맞게 변경하여 적용하면 된다.

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함