Hive 基于当前日期动态生成查询

Hive 基于当前日期动态生成查询,hive,hiveql,Hive,Hiveql,我有一个外部表mytable。我们在Airflow中安排了一个作业,它拾取一个SQL文件并每天执行一次 每天,我都需要向对应于那天的表中添加一个分区。 所以2019-09-27,我需要执行 ALTER TABLE MYTABLE ADD PARTITION(year=2018,month=9,day=27,ts=1538006400) location '/path/to/data/20180927/' 我可以使用SELECT year/month/day(current\u date)获取年

我有一个外部表
mytable
。我们在Airflow中安排了一个作业,它拾取一个SQL文件并每天执行一次

每天,我都需要向对应于那天的表中添加一个分区。 所以2019-09-27,我需要执行

ALTER TABLE MYTABLE ADD PARTITION(year=2018,month=9,day=27,ts=1538006400) location '/path/to/data/20180927/'
我可以使用
SELECT year/month/day(current\u date)
获取年/月/日,使用
SELECT unix\u timestamp(current\u date,'yyyyy-MM-dd')
获取时间戳,但是我如何编写SQL查询来生成整个
ALTER表呢。。。添加分区
如上查询


编写脚本是一种简单的方法,但我需要仅在SQL中完成此操作。

Hive conf有一个用于当前日期的变量
current\u date
,您可以将其用作

ALTER TABLE MYTABLE ADD PARTITION (ts= '${hiveconf:current_date}')

函数
current\u date
现在在Hive 1.2.0及更高版本中可用。

谢谢-但是如何添加位置子句?这是一个外部分区表。