我经常有一大块 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
后来我想change变量并重新运行。我也想要一个record我每次运行时变量的值是什么。
因此,我目前制作了 HiveQL 文件的副本,除了变量值之外,这些副本都是相同的。然而,这显然很容易出错,因为如果我需要更改实际的 HiveQL,那么我必须在每个文件中更改它。
理想情况下,我可以将所有设置存储为 JSON 文件(或其他文件),并使我的 HiveQL 文件完全动态。有什么办法可以做到这一点吗?
在配置文件中设置变量并在 hql 脚本中加载此文件:
source /path_to_your_config_file/config.hql;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)