本文为自己翻译的译文,原文地址:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+VariableSubstitution
简介
Hive用于批处理和交互式查询。变量替换允许任务,例如将特定于环境的配置变量与代码分离。Hive变量替代机制的设计是为了避免在Hive之上的脚本语言中加入一些代码。例如下面的shell命令可能(不能有效地)用于在脚本中设置变量:
$ a=b
$ hive -e
" describe $a "
|
这很令人沮丧,因为Hive与脚本语言紧密结合。在执行数千次操作(如多个hive -e调用)时,几秒钟的Hive启动时间是非常重要的。
Hive变量将您所知道和喜爱的集合功能与一些有限但强大的替代能力结合起来。
样例如下:
$ bin/hive --hiveconf a=b -e 'set a; set hiveconf:a; \
create table
if
not exists b (col
int
); describe ${hiveconf:a}'
|
结果输出: