MapReduce详细过程刨析

MapReduce是一种分布式计算框架,包含input、map、shuffle、reduce、output五个阶段。其中,shuffle过程最为关键,涉及分区、分组和排序。map端shuffle通过环形缓冲区进行溢写和排序,reduce端shuffle则负责拉取数据并合并。MapReduce的优化包括combiner,用于减轻reduce压力。整个流程适用于大规模数据处理,通过分而治之的策略简化复杂计算。
摘要由CSDN通过智能技术生成

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值