什么是MapReduce
Map
和Reduce
源自于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
算法来分配key
。Reduce
任务根据分配到的key
并行地处理、合并中间值。
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦