我想从Hive中的不同日期的数据库中提取相同的数据。 现在我要提取数据的日期是从2015-09-30到2018-07-31的每个月末。我知道如何将日期设置为宏变量,以便仅通过更改日期就可以运行整个代码,但是我想创建一个具有给定开始日期至结束日期的循环,它在该月的最后一天运行该代码,它给了我一个输出。 假设下面的代码用于单日提取,并保存为query1:
SET obs_time='2018-07-31';
DROP TABLE IF EXISTS data_${hiveconf:Obs_Time};
CREATE TABLE data_${hiveconf:Obs_Time} AS
select * from table1 where date = ${hiveconf:Obs_Time};
然后我运行:
system("nohup hive -f query1.sql")
现在的问题是如何为此代码设置开始日期和结束日期,以选择介于两个月之间的所有月份(仅介于两个月之间的最后一天)的数据?