如何在hive中删除一周中某一天的分区

oaxa6hgo  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(518)

通过硬编码值,可以删除一周中某一天(即星期四)的分区。
alter table logs drop if exists partition(日期=2014-10-30);
如何在没有硬编码日期值的情况下删除上周四(日期=2014-10-30)的分区?

ogq8wdun

ogq8wdun1#

向hiveql语句动态传递日期的一种方法是使用配置单元变量,假设我们有一个名为 alter.hql 其内容包括:
更改.hql

ALTER TABLE logs DROP IF EXISTS PARTITION (date='${hiveconf:date}');

你可以调用 alter.hql 通过向其传递日期变量:

hive -hiveconf date='2014-10-30' -f alter.hql

相关问题