MapReducer运行原理图

在这里插入图片描述
1、有多少个切片就会默认启动多少个maptask ,每个maptask会处理一个切片(split默认是 128M )
2、fileinputformat继承自inputformat,用inputformat里的read()流,以键值对的形式读取文档,键是行首偏移量,值是每一行数据
3、write并不是直接写到硬盘里面,而是用底层的outputCollector先写到环形缓冲区,环形缓冲区默认大小是 100M,溢写比是 80% mapred-site.xml文件中的io.sort.mb的配置项配置
4、内存环形缓冲区满了之后,他会往硬盘里面写,写之前首先进行分区,如下图所示:
在这里插入图片描述
同一个分区的数据会落到同一个reducer端进行处理
5、归并排序
先两个两个进行排序
再四个四个进行排序
再八个八个进行排序
再把其他的和这8个进行排序
在这里插入图片描述

1、分区1的内容到reduceTask1中
分区2的内容到reduceTas2中
2、从各个maptask上远程拷贝一片数据,如果大小超过一定阀值,则写到磁盘上,否则放到内存中。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值