MapReduce优化

本文主要探讨了MapReduce在Map端和Reduce端的优化方法,包括合并小文件、自定义分区减少数据倾斜、调整内存参数、增加Merge次数、使用Combiner、优化压缩算法、调整重试次数以及调整ReduceTask的相关配置,旨在提升大数据处理效率。
摘要由CSDN通过智能技术生成

 一、Map端可以进行的优化

1.合并小文件

        采用CombineTextInputFormat切片规则

2.自定义分区,减少数据倾斜

        定义类,实现Partitioner接口,重写getPartition方法

3.减少溢写次数

        mapreduce.task.io.sort.mb(修改Shuffle环形缓冲区的大小,默认100M,可以提高到200m)

        mapreduce.map.sort.spill.percent(修改环形缓冲区溢出的阈值,默认880%,可以提高到90)

4.增加每次Merge合并次数

        mapreduce.task.io.sort.factor(默认10次,可以提高到20次)

5.在不影响业务结果的条件下可以采用Combiner

6.为了减少磁盘IO,可以采用Snappy或者LZO压缩

7.修改MapTask内存上限

        mapreduce.map.memory.mb(默认是1024MB 可以根据128m数据对应1G的内存比例来提高)

8.修改MapTaskCPU核数

        mapreduce.map.cpu.vcores(默认MapTask的Cpu核数是1)

9.异常重试次数

        mapreduce.map.maxattempts(每个MapTask最大的异常重试

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值