4.MapReduce 范式
什么是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并行地处理、合并中间值。
點(diǎn)擊查看更多內(nèi)容
為 TA 點(diǎn)贊
評論
評論
共同學(xué)習(xí),寫下你的評論
評論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦





