【Hive】变量,
一、命名空间
Hive的命名空间:hiveconf,system,env,hivevar
二、变量
hive变量以java字符串的形式存储,在cli中执行 Hive 的 SQL 语句时,如果 SQL 语句中包含有变量,hive 会先将变量替换成变量值,然后再执行 SQL 语句。
1、set
cli中,使用set命令来增加 / 赋值 / 修改 / 查看变量
hive> set date; -- 查看date变量
hive> set date='2018-01-01'; -- 赋值
hive> set; -- 显示所有环境变量
hive> set -v; --获取到HDFS和MapReduce的环境变量信息
2、变量及使用
使用变量:${变量}
<对于使用hivevar,前缀是可有可无的,但是对于使用命名空间如hiveconf,system,env的,前缀则不可少。>
- hivevar
shell:
$ hive --define key=value $ hive -d key=value $ hive --hivevar key=value
cli:
hive> set hivevar:date='2018-01-01'; hive> select * from test where busi_date=${hivevar:date}; 或者 hive> select * from test where busi_date=${date};
注:定义与使用时还是最好加上hivevar名称空间,否则可能找不到
- hiveconf
shell:
$ hive -hiveconf date='2018-01-01' -hiveconf date='2018-01-01' -f test.hql $ hive -hiveconf mapred.job.queue.name=queue2 -e "set mapred.job.queue.name;"
cli:
hive> set date='2018-01-01'; hive> select * from test where busi_date=${hiveconf:date};
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。