Hive常用参数

 

属性名称 实践 中文默认值 作用 中文含义
mapreduce.job.queuename root.default 作业提交到的队列
hive.execution.engine tez 默认值:mr(在Hive 2.0.0中已弃用)
添加到:Hive 0.13.0,包含Hive -6103和Hive -6098
选择执行引擎。选项有:mr (Map Reduce,默认),tez (tez执行,仅适用于Hadoop 2),或spark (spark执行,适用于Hive 1.1.0以后)。
由于历史原因,mr仍然是默认引擎,它本身也是一个历史引擎,在Hive 2线(Hive -12300)中被弃用。它可能会被删除而无需进一步警告。
hive.auto.convert.join TRUE 默认值:0.7.0 ~ 0.10.0为false;在0.11.0及更高版本(HIVE-3297)为true
加入:0.7.0与HIVE-1642
大表关联小表,把小表自动加载到内存中,需要确认以下配置为true,相当于写了一个mapjoin
作用:是否自动转换为mapjoin
Hive是否开启基于输入文件大小的common join转换为mapjoin的优化。(注意hive-default.xml。在Hive 0.11.0到0.13.1中,template错误地将默认值设为false。
hive.smalltable.filesize or hive.mapjoin.smalltable.filesize 25000000 默认值:25000000
添加到:Hive 0.7.0 with Hive -1642: Hive .smalltable.filesize(在Hive 0.8.1中被Hive .mapjoin.smalltable.filesize取代)
添加到:Hive 0.8.1 with Hive -2499: Hive .mapjoin.smalltable.filesize
小表的最大文件大小,默认为25000000,即25M
(默认25M一下认为是小表)
小表的输入文件大小阈值(以字节为单位);如果文件大小小于此阈值,它将尝试将普通连接转换为映射连接。
hive.auto.convert.join.noconditionaltask TRUE 默认值:true
添加到:0.11.0与HIVE-3784(默认更改为true与HIVE-4146)
是否将多个mapjoin合并为一个 Hive是否开启基于输入文件大小的common join转换为mapjoin的优化。如果该参数是打开的,那么n-1个表/分区的大小之和小于hive.auto.convert.join.noconditionaltask指定的大小。连接将直接转换为mapjoin(没有条件任务)。
hive.auto.convert.join.noconditionaltask.size 10000000 默认值:10000000
加入:0.11.0与HIVE-3784
多个mapjoin转换为1个时,所有小表的文件大小总和的最大值。 如果hive.auto.convert.join.noconditionaltask关闭,则此参数不生效。但是,如果它是打开的,并且n-way连接的n-1个表/分区的大小之和小于此大小,则连接将直接转换为mapjoin(没有条件任务)。默认值是10MB。
hive.exec.parallel TRUE 默认值:false
添加到:Hive 0.5.0
控制在同一个sql中的不同的job是否可以同时运行,默认为false. 是否并行执行作业。适用于可以并行运行的MapReduce作业,例如在连接之前处理不同源表的作业。在Hive 0.14中,它也适用于可以并行运行的移动任务,例如在多插入过程中移动文件以插入目标。
hive.merge.mapfiles TRUE 默认值:true
添加到:Hive 0.4.0
默认值ture,在Map-only的任务结束时合并小文件 在仅映射作业结束时合并小文件。
hive.merge.size.per.task 256000000 默认值:256000000
添加到:Hive 0.4.0
作业结束时合并文件的大小,默认256MB 作业结束时合并文件的大小。
hive.merge.smallfiles.avgsize 256000000(256M) 默认值:16000000
添加到:Hive 0.5.0
如果一个 job 结束后,生成的文件的平均大小 小于参数
hive.merge.smallfiles.avgsize 设定的值,则认为是小文件
平均文件大小,是决定是否执行合并操作的阈值,默认16000000
当一个作业的平均输出文件大小小于这个数字时,Hive将启动一个额外的map-reduce作业,将输出文件合并为更大的文件。如果hive.merge.mapfiles为真,这只会用于仅映射作业,如果hive.merge.mapredfiles为真,这只会用于map-reduce作业。
hive.map.aggr TRUE 默认值:Hive 0.3及以上版本为true;Hive 0.2为false
添加到:Hive 0.2.0
是否在 Map 端进行聚合,默认为 True ;该设置会消耗更多的内存 Hive Group By查询中是否使用映射端聚合。
hive.groupby.skewindata TRUE 默认值:false
添加到:Hive 0.3.0
如果大表和大表进行join操作,则可采用skewjoin
当 hive.groupby.skewindata = true 时,Hive 会将原来的一个 MaReduce 阶段转化成两个 MapReduce 阶段:
一阶段MapReduce:随机打散数据,打散后进行局部聚合(数据去重 +
多Task局部计数)
二阶段MapReduce:对一阶段的局部聚合结果进行最终聚合(最终汇总计数)
数据中是否存在倾斜,需要通过查询来优化组。
hive.groupby.mapaggr.checkinterval 100000 默认值:100000
添加到:Hive 0.3.0
控制在 Map 端进行聚合操作的条目数目 执行分组键/聚合类大小的行数。
hive.optimize.skewjoin TRUE 默认值:false
添加到:Hive 0.6.0
在参数 hive.optimize.skewjoin=true 时, Hive的reduce任务会在处理join key 的时候
判断其数量是否大于该 阈值,如果是将作为一个Skew Join 处理
不超过hive.skewjoin.key的key,走正常join流程
超过的hive.skewjoin.key的key,先写到hdfs上,然后再启动一个join,执行map join
是否启用倾斜连接优化。(参见hive.optimize.skewjoin.compiletime)
hive.skewjoin.key 100000 默认值:100000
添加到:Hive 0.6.0
确定连接中是否有倾斜键。如果在连接操作符中看到具有相同键的行数超过指定数目,则认为该键为倾斜连接键。
hive.exec.compress.output TRUE 默认值:false
添加于:Hive 0.2.0
用户可以对最终生成的Hive表的数据压缩。该参数控制这一功能的激活与禁用,设置为true来声明将结果文件进行压缩 这控制是否压缩查询的最终输出(到本地/hdfs 文件或 Hive 表)。压缩编解码器和其他选项由 Hadoop 配置变量 mapred.output.compress* 确定。
hive.support.quoted.identifiers None 默认值: column
添加于:带有HIVE-6013 的Hive 0.13.0
使用正则表达式查询 是否使用带引号的标识符。值可以是“ none”或“ column”。
column: 列名可以包含任何 Unicode 字符。在反引号 ( ) 内指定的任何列名都按`字面意思处理。在反引号字符串中,使用双反引号 ( ``) 表示反引号字符。
none: 只有字母数字和下划线字符在标识符中有效。带反引号的名称被解释为正则表达式。这也是 0.13.0 之前的版本中的行为。
hive.exec.dynamic.partition.mode nonstrict 默认值:strict
添加于:Hive 0.6.0
设置动态分区   ,分区模式设置 在strict模式下,用户必须至少指定一个静态分区,以防用户不小心覆盖所有分区。在n 模式下,所有分区都 可以是动态的。nonstrict
设置为 nonstrict支持INSERT ... VALUES、UPDATE 和 DELETE 事务(Hive 0.14.0 及更高版本)。有关打开 Hive 事务所需参数的完整列表,请参阅 hive.txn.manager。
hive.exec.max.dynamic.partitions.pernode 100000 默认值:100
添加于:Hive 0.6.0
 
单个节点上的mapper/reducer允许创建的最大分区 每个 mapper/reducer 节点中允许创建的最大动态分区数。
hive.exec.max.dynamic.partitions 10000 默认值:1000
添加于:Hive 0.6.0
 
允许动态分区的最大数量 总共允许创建的最大动态分区数。
hive.input.format org.apache.hadoop.hive.ql.io.CombineHiveInputFormat 默认值: org.apache.hadoop.hive.ql.io.CombineHiveInputFormat
添加于:Hive 0.5.0
会对 map 端的小文件进行合并 默认输入格式。如果您遇到 CombineHiveInputFormat 问题,请将其设置为 HiveInputFormat。
hive.merge.mapredfiles 默认值:false
添加于:Hive 0.4.0
在map-reduce job后合并文件,默认false 在map-reduce作业结束时合并小文件。

你可能感兴趣的:(Hive,hive,hadoop,大数据)