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});

您能否向我展示 Hive 中的正确脚本?

最好的,

4

1 回答 1

0

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

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

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

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

于 2013-10-05T12:16:01.290 回答