我经常有一大块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条答案
按热度按时间9njqaruj1#
在配置文件中设置变量,并将此文件加载到hql脚本中: