阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

让你快速理解MapReduce 1框架概念

95次阅读
没有评论

共计 1450 个字符,预计需要花费 4 分钟才能阅读完成。

梳理一下 MapReduce 1 的基本概念,仅供参考。

让你快速理解 MapReduce 1 框架概念

上面这个图,基本上可以说明 MapReduce 的工作流程。下面细说,并举了一个实例。

MapReduce 工作就是将处理过程划分为两个阶段:map 阶段和 reduce 阶段。每个有 key-value 对作为输入和输出,其类型是由程序员选择的。程序员能够指定有个函数:map 函数和 reduce 函数。

举一个简单的例子,具体说明 MapReduce 的工作细节。假设有一堆天气数据需要处理,而我们仅对天气数据中的年份和气温字段信息感兴趣。一个 map 函数的功能就是一个数据准备阶段,准备好 Reduce 阶段能够处理的数据,而 reduce 函数将一年中的多个气温(temperature)数据中取最大的值。map 函数需要将错误数据以及一些不符合规则的数据给过滤掉,筛选出有效数据,传送给 reduce 阶段进行处理。

为了可视化 map 的工作,假设有下列输入文件中的多行记录数据

0067011990999991950051507004…9999999N9+00001+99999999999…
0043011990999991950051512004…9999999N9+00221+99999999999…
0043011990999991950051518004…9999999N9-00111+99999999999…
0043012650999991949032412004…0500001N9+01111+99999999999…
0043012650999991949032418004…0500001N9+00781+99999999999…

到了 map 函数处理阶段,数据就变成 key-value 对。

(0, 0067011990999991950051507004…9999999N9+00001+99999999999…)
(106, 0043011990999991950051512004…9999999N9+00221+99999999999…)
(212, 0043011990999991950051518004…9999999N9-00111+99999999999…)
(318, 0043012650999991949032412004…0500001N9+01111+99999999999…)
(424, 0043012650999991949032418004…0500001N9+00781+99999999999…)

关键字是线性偏离,我们在 map 函数中可以忽略。map 复制抓取到对应 year 和 temperature 字段,最后发布给对应的 reduce 函数作进一步处理。提交的数据如下:

(1950, 0)
(1950, 22)
(1950, −11)
(1949, 111)
(1949, 78)

在发送到 reduce 函数处理前,这个输出会被 MapReduce 框架处理。MapReduce 框架的处理包括以关键字进行排序和分组等。在 reduce 处理前,看到的数据就是这样:

(1949, [111, 78])
(1950, [0, 22, −11])

reduce 函数将根据关键字来迭代 value,选出最大的值作为 key 的 value,并将这对值输出。

(1949, 111)
(1950, 22)

上面便是最终的输出结果序列。整个处理过程可以用下列这个流程图来说明。

让你快速理解 MapReduce 1 框架概念

后续将介绍 MapReduce 2, 即 YARN(Hadoop 2 新推出的架构)。待续!

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-20发表,共计1450字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中