【发布时间】:2019-06-18 18:13:32
【问题描述】:
我已根据日期 yyyy-mm-dd 对 Hive 表进行分区。我想每天运行一个脚本,可以删除所有超过 30 天的分区,但在这种情况下,我不想传递日期。我希望它采用系统日期并删除超过 30 天的分区。
【问题讨论】:
-
你的 hive 表是托管表还是外部表?
-
你用什么来运行你的 hive 脚本? UNIX、ADF 等?
-
这是托管的orc表,我已经在hql中编写了脚本。我可以使用没有问题的 linux 或 unix 脚本。你能帮帮我吗
-
请分享你已经做过的尝试
-
尝试了一个脚本,但它删除了所有早于当前日期的分区。我试图传递值 30 但它抛出错误 -> hive --hivevar today=$(date +"%Y-%m-%d") -e \ > 'alter table local_db.mytable drop partition (day