我在hive怎么传递参数呢?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在使用hive时很多的是将一个业务处理逻辑写成hql脚本,然后使用hive -f filename.hql运行,但是往往在filename.hql中有很多要传递的参数变量,这里可以使用两个参数选项来传递,一个就是-hiveconf,另一个就是-hivevar,使用方法如下:
1.-hiveconf使用
例如test1.hql脚本中需要使用两个变量:a_path,脚本内容如下
show ’${hiveconf:a_path}’;
那么可以在命令中这样使用:hive -f test1.hql -hiveconf a_path=”/home/nuoline/input”
2.-hivevar
例如test2.hql脚本中需要使用两个变量:b_path,脚本内容如下
show ${b_path};
那么可以在命令中这样使用:hive -f test2.hql -hivevar b_path=”/home/nuoline/output”