MapReduce执行流程

MapReduce执行流程

---------------------------------------map阶段-------------------------------------------------------

第一步:InputFormat

InputFormat 在HDFS文件系统中读取要进行计算的数据

输出给Split

第二步:Split

Split 将数据进行逻辑切分,切分成多个任务。

输出给RecordReader

第三步:RecordReader

RR 将切分后的数据转换成key value进行输出

key : 偏移量(每行行首字母移动到文本的最前面需要的距离

value: 每一行数据

输出给Map

第四步:Map

接收一条一条的数据(有多少行数据Map运行多少次,输出的次数根据实际业务需求而定)

根域业务需求编写代码

Map的输出是 key value的 list

输出给Shuffle(partition)

---------------------------------------shuffle阶段-------------------------------------------------------

第五步: partition

partition: 按照一定的规则对 key value的 list进行分区

输出给Shuffle(sort)

第六步:Sort

Sort :对每个分区内的数据进行排序。

输出给Shuffle(Combiner)

第七步:Combiner

Combiner: 在Map端进行局部聚合(汇总)

目的是为了减少网络带宽的开销

输出给Shuffle(Group)

第八步:Group

Group: 将相同key的key提取出来作为唯一的key

将相同key对应的value组装成value 的List作为value

(相同key合并,value形成一个集合)

输出给reduce

------------------------------------reduce阶段--------------------------------------------

第九步:reduce

reduce: 根据业务需求对传入的数据进行汇总计算。

输出给Shuffle(outputFormat)

第十步:outputFormat

outputFormat:将最终的结果写入HDFS

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值