有的时候我们需要执行hive的时候带一些参数,以便我们后期任务分析、排查等问题。所以这里我们说一下自定义参数的作用。
hive 命令指定参数
执行hive命令的时候指定参数
1 | hive --hiveconf hive.job.submit.username=shining -e "select count(*) from temp.test_hive where pt='2019-03-21';" |
也可以指定多个参数
1 | hive --hiveconf hive.job.submit.username=shining --hiveconf hive.job.submit.web=sukbeta.github.io -e "select count(*) from temp.test_hive where pt='2019-03-31';" |
这时你可以在yarn中找到job的页面,在job的 Configuration 页面中可以查找到你得传的参数。
如:
全局配置
可以修改 hive 命令中的 HIVE_OPTS, 这样执行所有hive的命令都添加这个参数了。
例如:
编辑 hive 命令
1 | vim $HIVE_HOME/bin/hive |
- BUILD_USER_ID 和 JOB_NAME 是两个参数,需要有这两个参数。否则是查不到的。
我是用jenkins调用的hive,jenkins会自动传入 JOB_NAME 参数的,所有就能取到。
在jenkins上安装 Build User Vars Plugin 插件可以获取一些执行用户信息。
可以参考插件说明 :
https://wiki.jenkins.io/display/JENKINS/Build+User+Vars+Plugin
hive自定义参数这个更能用好了还是很强大的。