MapReduce框架原理-MapTask和ReduceTask工作机制

本文深入探讨MapReduce框架中的MapTask和ReduceTask工作机制。MapTask包括并行度机制和详细步骤,如数据读取、映射、收集、溢写和合并。ReduceTask涵盖其工作机制,主要包括数据拷贝、合并、排序和减少阶段。同时强调了ReduceTask数量对性能的影响,并提供了设置 ReduceTask 的实验和注意事项。
摘要由CSDN通过智能技术生成

目录

一、MapTask工作机制

(一)并行度机制

(二)MapTask工作机制

总结

详细步骤

二、ReduceTask工作机制

(一)ReduceTask工作机制

总结

详细步骤

注意

(二)设置ReduceTask

实验:测试reducetask多少合适。

注意事项


一、MapTask工作机制

(一)并行度机制

1)问题引出

maptask的并行度决定map阶段的任务处理并发度,进而影响到整个job的处理速度。那么,mapTask并行任务是否越多越好呢?

2)MapTask并行度决定机制

    一个job的map阶段MapTask并行度(个数),由客户端提交job时的切片个数决定。

切片(逻辑上的切分)大小默认等于128M,和block大小相等,原因是如果不按照block大小进行切分,可能会涉及到一些不同节点之间数据的传输。

(二)MapTask工作机制

总结

  1. read阶段:读取数并行度决定机制据成key-value
  2. map阶段:将读取的key-value进行处理,生成新的key-value
  3. collect阶段:将map的数据写到环形缓冲区(分区)中
  4. spill溢写阶段:环形缓冲区数据满80%后溢写磁盘,只不过溢写之前需要进行排序
  5. combine阶段:合并小文件(而不是执行Combiner业务逻辑):归并排序,将一些多次产生的小文件进行合并,形成一个大文件

注意】MapTask的数量是由切片数决定的,虽然Maptask不能直接设置,但是我们可以通过设置切片个数去完成MapTask数量的指定

详细步骤

(1)Read阶段:Map Task通过用户编写的RecordReader,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值