MapReduce详细过程刨析

MapRduce:就是一种分布式计算框架(一定数据按行算)

5个阶段:input ,map(里面由kv值,按照k值进行分区) ,shuffle(最难) , reduce(获取前面的v值进行分组) ,output
shuffle过程实现的功能

**分区:**决定当前的Key交给那个reduce进行处理

​ 相同的key,必须由同一个reduce进行处理

​ 默认:根据key的hash值 对reduce个数取余

**分组:**将相同的key的value进行合并

​ key相等的话,将分到同一个组里

​ Map Reduce阶段,一行调用一次map方法,一种key调用一次reduce

**排序:**按照key的指导顺序进行排序

详细的过程(非常重要,Map Reduce优化,面试必考)

—》map端shuffle

​ —》spill:溢写

​ —》每一个map处理之后的结果将会进入环形缓冲区(内存:100MB)

​ —》分区:对每一条key和value进行分区(打标签)

​ hadoop 1 reduce0

​ hive 1 reduce1

​ spark 1 reduce1

​ hbase 1 reduce1

​ Hadoop 1 reduce0

​ —》排序:将相同分区的数据进行分区排序

​ hadoop 1 reduce0

​ Hadoop 1 reduce0

​ hbase 1 reduce1

​ hive 1 reduce1

​ spark 1 reduce1

​ —》当环形缓冲区达到阈值80%,开始溢写,将分区排序后的数据溢写到磁盘变成filel</

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值