hive变量的配置可以通过以下方法实现,并以优先级的顺序展出。
1、在CLI或者beeline中使用set 命令 为set命令后面的所有语句配置变量 设置会话级别值。(原文很绕,笔者表示已尽力)例如,下面的命令为后续语句设置临时目录为/tmp/mydir.
set hive.exec.scratchdir=/tmp/mydir;
2、使用 --hiveconf 为整个会话选择hive或者beeline命令,例如:
bin/hive --hiveconf hive.exec.scratchdir=/tmp/mydir
3、在hive-site.xml中,这个是面向整个hive配置的。
<property>
<name>hive.exec.scratchdir</name>
<value>/tmp/mydir</value>
<description>Scratch space for Hive jobs</description>
</property>
4、在特定服务配置文件中(hive 0.14开始支持)。可以在hivemetastore-site.xml文件中设置metastore-specific配置值以及在hiveserver2-site.xml中的HiveServer2-specific的值。