文章目录

  • Hive参数配置方式
  • 1. 配置文件方式
  • 2. 命令行参数方式
  • 3. 参数声明方式
  • 总结


Hive参数配置方式

1. 配置文件方式

默认配置文件:hive-default.xml
用户自定义配置文件:hive-site.xml
注意:用户自定义配置会覆盖默认配置。另外,Hive也会读入Hadoop的配置,因为Hive是作为Hadoop的客户端启动的,Hive的配置会覆盖Hadoop的配置。配置文件的设定对本机启动的所有Hive进程都有效。

2. 命令行参数方式

启动Hive时,可以在命令行添加-hiveconf param=value来设定参数。仅对本次Hive启动有效
例如:

bin/hive -hiveconf mapred.reduce.tasks=10;
-- 查看参数设置:默认mapred.reduce.tasks=-1,-1 有reduce就开启,没有就不开启。
hive (default)> set mapred.reduce.tasks;
mapred.reduce.tasks=10

-- 查看当前所有的配置信息:
hive (default)> set;

3. 参数声明方式

可以在HQL中使用SET关键字设定参数,仅对本次Hive启动有效
例如:

hive (default)> set mapred.reduce.tasks=10;
-- 查看参数设置 
hive (default)> set mapred.reduce.tasks;

总结

上述三种设定方式的优先级依次递增。即配置文件 < 命令行参数 < 参数声明。注意某些系统级的参数,例如log4j相关的设定,必须用前两种方式设定,因为那些参数的读取在会话建立以前已经完成了。