2013-10-04 2 views
0

매일 그 위치를 변경하려는 외부 테이블이 하이브에 있습니다.Hive에서 외부 테이블을 매일 변경하십시오.

set current_day = from_unixtime(unix_timestamp(), 'yyyy_mm_dd'); 
ALTER TABLE myTable ADD PARTITION (dt=${hiveconf:current_day}) 
LOCATION concat('s3://.../',${hiveconf:current_day}); 

당신이 나에게 하이브에서 올바른 스크립트를 보여 주 시겠어요 : 내가 직접 하이브 스크립트에 아래처럼 somethong을하고 싶지?

Bests,

답변

0

이 파이썬 script
그것은 외부 테이블에 대한 새 폴더가 외부 테이블의 루트 위치 아래에 생성 될 때마다 새 파티션을 만들어야합니다 살펴 있습니다.

스크립트가 사용자의 요구와 일치하지 않는 경우 당신은 항상 올바른 문자열 형식의 날짜를 받아 실행하는 빠른 bash는 스크립트를 작성할 수 있습니다

hive -e "use myDB; alter table myTable add partition ($SOMEDATE);" 

을 다음을, 당신은 crontab에이 스크립트를 추가 할 수 있습니다 그것을 매일 실행하십시오.