MapReduace原理

MapReduce是一种由Google提出的分布式计算模型,常用于处理海量数据。该模型包含Map和Reduce两个阶段,用户只需实现map()和reduce()函数。Map阶段包括读取文件、解析键值对、自定义逻辑处理、分区及排序;Reduce阶段涉及合并多个Map输出,执行reduce逻辑并保存结果。

MapReduace

概述: MapReduce是一种分布式计算模型,由Google提出,主要用于搜索领域,解决海量 数据的计算问题.

MR由两个阶段组成:Map和Reduce,用户只需要实现map()和reduce()两个函数, 即可实现分布式计算,非常简单。

这两个函数的形参是key、value对,表示函数的输入信息

执行流程见下图:

 

◆执行步骤:

 1. map任务处理

     1.1 读取输入文件内容,解析成key、value对。对输入文件的每一行,解析成key、value 对。每一个键值对调用一次map函数。

     1.2 写自己的逻辑,对输入的key、value处理,转换成新的key、value输出。

     1.3 对输出的key、value进行分区。

     1.4 对不同分区的数据,按照key进行排序、分组。相同key的value放到一个集合中。 1.5 (可选)分组后的数据进行归约。

2.reduce任务处理

      2.1 对多个map任务的输出,按照不同的分区,通过网络copy到不同的reduce节点。

      2.2 对多个map任务的输出进行合并、排序。写reduce函数自己的逻辑,对输入的key、 value处理,转换成新的key、value输出。

      2.3 把reduce的输出保存到文件中。

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值