MapReduce流程

block

数据块block位于不同datanode,默认128m

InputFormater

格式化输入

split

数据的逻辑切片,运算时按split切片分配计算节点,一般为block数的整数倍(个人理解最佳为block数与计算节点数的最小公倍数)
一个切片对应一个maptask

RecordReader

默认读取器读取一行

环形缓冲区

maptask映射结果写入环形缓冲区,可以同时读写不间断,默认100m,阈值80m

patition

环形缓冲区生产溢写spill文件之前
分区算法,key值hash后对分区数(reducetask数)取余,方便reduce拉取

sort

快速排序,先对分区排序,再对key值按字典顺序排序,使maptask结果有序

spill

写入溢写文件

merge

对同一maptask的多个溢写文件归并排序,合并为一个大文件,单个有序合并后整体有序

combiner

对合并的结果进行局部压缩,把原多条kv对合并成kv(…)数组,节省map到reduce之间网络带宽,某些计算如计算平均值时慎重使用,容易出错

fetch

reducetask抓取fetch各个maptask的结果文件
相同key被抓取到同一个reducer,每个reducer存在同一key来自不同maper的多个文件,以及多个key的文件

merge

reducetask要再做一次归并排序合并这些文件,不一定合并为一个,一个key一个最佳

reduce

reducetask进行归约计算

OutputFormater

格式化输出

Output

输出、落盘

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值