您的位置 首页 大数据运维

Hive 参数汇总

Hive 参数汇总

1.组合参数优化:减少 map 数

是否支持可切分的 CombineInputFormat 合并输入小文件此参数必须加否则不生效

set hive.hadoop.supports.splittable.combineinputformat=true;
set hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat;

一个节点上 split 的最大的大小

set mapred.max.split.size=1073741824;

一个交换机下 split 最小的大小

set mapred.min.split.size.per.node=1073741824;

一个机架下 split 至少的大小

set mapred.min.split.size.per.rack=1073741824;

2.组合参数优化:

调整 reduce 输出大小,降低 reduce 数,降低小文件输出强制指定 reduce 的任务数量,可以设置这个参数,如果不确定忽略此参数,用下面的两个参数

mapred.reduce.tasks=${num}

reduce 最大个数

set hive.exec.reduceRegionServer.max=300;

每个 reduce 任务处理的数据量,一般设置为 2G, 2G = 2147483648 Bytes

set hive.exec.reduceRegionServer.bytes.per.reducer=2147483648;
hive.exec.reduceRegionServer.bytes.per.reducer67108864 默认值是64M

3.优化小文件问题

在 Map-only 的任务结束时启用合并小文件

set hive.merge.mapfiles=true;

在 Map-Reduce 的任务结束时启用合并小文件

set hive.merge.mapredfiles=true;

当输出文件的平均大小小于该值时,启动一个独立的 map-reduce 任务进行文件 merge

set hive.merge.smallfiles.avgsize=1073741824;

合并后文件的大小为 1GB 左右
set hive.merge.size.per.task=1073741824;

4 container 内存大小

 

map 内存
set mapreduce.map.memory.mb=2048; 集群最小值是 2048M,与
mapreduce.map.memory.mb/mapred.max.split.size 比例是 2:1
reduce
set mapreduce.reduce.memory.mb=4096; 与
hive.exec.reduceRegionServer.bytes.per.reducer 参数比例 1:1~1:2

5.作业通用参数

job 名
set mapreduce.job.name=P_DWA_D_IA_test;
队列名
set mapreduce.job.queuename=ia;

欢迎来撩 : 汇总all

白眉大叔

关于白眉大叔linux云计算: 白眉大叔

热门文章