码迷,mamicode.com
首页 > 其他好文 > 详细

Hive学习(九) 参数设置

时间:2019-07-26 14:48:32      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:info   问题   default   解决   本机   col   模式   job   动态   

Hive的参数设置方式

1、配置文件 (全局有效)

2、命令行参数(对 hive 启动实例有效)

3、参数声明 (对 hive 的连接 session 有效)

 

(1)配置文件

Hive 的配置文件包括:

  A. 用户自定义配置文件:$HIVE_CONF_DIR/hive-site.xml

  B. 默认配置文件:$HIVE_CONF_DIR/hive-default.xml

用户自定义配置会覆盖默认配置。

另外,Hive 也会读入 Hadoop 的配置,因为 Hive 是作为 Hadoop 的客户端启动的,Hive 的配 置会覆盖 Hadoop 的配置。

配置文件的设定对本机启动的所有 Hive 进程都有效。

 

(2)命令行参数

启动 Hive(客户端或 Server 方式)时,可以在命令行添加-hiveconf param=value 来设定参数,这一设定对本次启动的 session(对于 server 方式启动,则是所有请求的 session)有效。

bin/hive -hiveconf hive.root.logger=INFO,console

 

(3)参数声明 

可以在 HQL 中使用 SET 关键字设定参数

动态分区(是否开启动态分区功能、nonstrict模式表示允许所有的分区字段都可以使用动态分区):

set hive.exec.dynamic.partition=true;  
set hive.exec.dynamic.partition.mode=nonstrict;

并行计算(同一个sql中的不同的job是否可以同时运行、同时可以运行的job的最大值):

set hive.exec.parallel=true;
set hive.exec.parallel.thread.number=8;

 map join(用map join解决小表关联大表造成的数据倾斜问题)

map join 概念:将其中做连接的小表(全量数据)分发到所有 MapTask 端进行 Join,从 而避免了 reduceTask,前提要求是内存足以装下该全量数据

set hive.auto.convert.join=true; //设置 MapJoin 优化自动开启
set hive.mapjoin.smalltable.filesize=25000000 //设置小表不超过多大时开启 mapjoin 优化

 

Hive学习(九) 参数设置

标签:info   问题   default   解决   本机   col   模式   job   动态   

原文地址:https://www.cnblogs.com/wwbz/p/11250059.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!