Hive MapReduce性能优化
Posted AI算法攻城狮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hive MapReduce性能优化相关的知识,希望对你有一定的参考价值。
一、Hive任务创建文件数优化
1.1 Map端文件合并减少Map任务数量
一般来说,HDFS的默认文件块大小是128M,如果在Hive执行任务时,发现Map端的任务过多,且执行时间多数不超过一分钟,建议通过参数,划分(split)文件的大小,合并小文件。如:
set hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat;
set mapreduce.input.fileinputformat.split.minsize=516000000; -- 516M
set mapreduce.input.fileinputformat.split.maxsize=1280000000; -- 1280M
set mapreduce.input.fileinputformat.split.minsize.per.node=516000000;
set mapreduce.input.fileinputformat.split.minsize.per.rack=516000000;
这样可以减小map的任务数,可以减少中间临时文件的产生,并且也较少reduce阶段的任务数和产生的文件数。
1.2 Reduce阶段数量调整
若指定mapred.reduce.tasks参数,则用该参数值;mapred.reduce.tasks默认值为-1,表示自动计算;
若未指定mapred.reduce.tasks,Hive会自动计算reduce个数,基于以下两个配置:
hive.exec.reducers.bytes.per.reducer:
以上是关于Hive MapReduce性能优化的主要内容,如果未能解决你的问题,请参考以下文章