在工作中,我们每天都会收到一个新文件,并将其传输到hive。表按列进行分区“ day
“包含数据传输到配置单元的时间,格式为” yyyy-MM-dd
". 每当添加新文件时,我们都希望删除以前的分区,以便表只包含最新文件的数据。有没有一种方法可以编写一个hiveql查询来动态删除当前日期之前的任何分区?我试过:
alter table table_name drop if exists partition (day < current_date);
但我有个错误:
失败:classcastexception org.apache.hadoop.hive.ql.plan.exprnodegenericfuncdesc不能强制转换为org.apache.hadoop.hive.ql.plan.exprnodeconstantdesc。“
还有别的办法吗?
1条答案
按热度按时间wvyml7n51#
演示
Hive
猛击
Hive