可以从文件加载hiveconf变量吗? (与HiveQL文件分开)

时间:2016-09-02 22:45:38

标签: hadoop configuration hive config hiveql

我经常有一大块HiveQL,我希望多次运行一些变量的不同设置。

一个简单的例子是:

set mindate='2015-01-01 00:00:00'
set maxdate='2015-04-01 00:00:00'
select * from my_table where the_date between ${hiveconf:mindate} and ${hiveconf:maxdate}

然后通过hive -f myfile.sql > myout.log

运行

稍后,我想更改变量并重新运行。我还想要一个记录每次运行时变量的值。

所以我目前制作的HiveQL文件副本除了变量值外都是相同的。这显然容易出错,因为如果我需要更改实际的HiveQL,那么我必须在每个文件中更改它。

理想情况下,我可以将所有设置存储为JSON文件(或其他任何内容),并使我的HiveQL文件完全动态化。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

在配置文件中设置变量并在hql脚本中加载此文件:

 source /path_to_your_config_file/config.hql;