每天在Hive中更改外部表

时间:2013-10-04 12:37:54

标签: hive alter-table

我在hive中有一个外部表,我想每天改变它的位置。 我想直接在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});

你能告诉我Hive中的正确脚本吗?

贝斯茨,

1 个答案:

答案 0 :(得分:0)

看看这个python script
每次在外部表的根位置下创建新文件夹时,它应该为外部表创建一个新分区。

如果脚本不符合您的需求,您可以随时编写一个快速bash脚本,该脚本接受正确字符串格式的日期并执行:

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

然后,您可以将此脚本添加到crontab并每天执行。