为了账号安全,请及时绑定邮箱和手机立即绑定

4.MapReduce 范式

什么是MapReduce

MapReduce源自于Functional Language

  • map是一种顺序且独立处理集合中每个元素的元函数
  • reduce分批处理集合元素的元函数

Example : Word Count

我们以以下文档作为样例

Welcome Everyone
Hello Everyone

Map阶段

Map任务会对每个record产生一个键值对(key/value pair)
例如,(Welcome, 1) 这意味着曾经遇到过Welcome这个词
这些record可以相互独立地处理。

在这个例子中只有一个Map任务,所以它按顺序处理这些record
当数据量特别巨大时候,这个过程很容易被中断。

需要对输入数据集进行分片或拆分,分配给每个镜像或每个独立的Map任务, 并产生输出

Reduce

Reduce基于每个键合并、处理中间结果

每条记录会根据key的不同,被分配给不同的Reduce任务。通常会使用Hash paritioning算法来分配keyReduce任务根据分配到的key并行地处理、合并中间值。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
算法工程师
手记
粉丝
5
获赞与收藏
1

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消