我在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中的正确脚本吗?
贝斯茨,
答案 0 :(得分:0)
看看这个python script
每次在外部表的根位置下创建新文件夹时,它应该为外部表创建一个新分区。
如果脚本不符合您的需求,您可以随时编写一个快速bash脚本,该脚本接受正确字符串格式的日期并执行:
hive -e "use myDB; alter table myTable add partition ($SOMEDATE);"
然后,您可以将此脚本添加到crontab
并每天执行。