如何在Hive中执行循环

时间:2018-11-05 15:04:56

标签: sql loops hive

我想从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")

现在的问题是如何为此代码设置开始日期和结束日期,以选择介于两个月之间的所有月份(仅介于两个月之间的最后一天)的数据?

0 个答案:

没有答案