关于mr的一些问题

本文深入探讨了影响MapReduce中map和reduce任务生成数量的因素,包括数据因子、配置参数等。同时,分析了MapReduce执行速度慢的原因,如JobTracker单点故障、资源管理限制等。此外,针对内存溢出(OOM)问题,提出了内存参数调整的建议。最后,讨论了数据倾斜问题的分类、原因及解决方案,包括增加JVM内存、调整reduce数量、自定义分区和使用Combiner等策略。
摘要由CSDN通过智能技术生成
  • 1.影响map和reduce生成个数的数据因子有哪些?

  • map个数的影响因子
    1)map输入文件的总大小
    2)block块大小
    block块越大,块数越少,会降低hdfs元数据压力,并行度降低,处理单个block块的效率越高。
    block块越小,块数越多,会导致hdfs压力大,并行度会提高。
    3)文件大小
    与block越接近越好,若太小,会导致所占block元数据过多,给NameNode造成压力。
    4)格式
    若可切分,尽量接近blocksize大小即可,大了也无所谓。
    若不可切分,则尽量保证文件大小一定要小于blocksize。
    5)max.split.size参数
    map的个数最终取决于split的个数,在原生的mapreduce中,一个split对应一个block,在hive中,受max.split.size影响,该参数默认值往往是1-3个blocksize的大小。

  • reduce个数由什么决定?
    1)自动推测
    推测结果的确定时机:任务开始运行之前。
    在原生mapreduce中,reduce如果有,则只会产生一个。
    在hive中,reduce的个数计算规则是由map端的输入总大小(字节为单位)/ hive.exec.reducers.bytes.per.reducer(hadoop2.7.x版本中默认是64M)
    2)自定义设置
    map

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值