首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

MapReduce-大规模数据集分布式并行演算编程模型

2013-12-07 
MapReduce-大规模数据集分布式并行运算编程模型???? 让我们看回map函数。当你要对数组内的每个元素做一些事

MapReduce-大规模数据集分布式并行运算编程模型
?

??? 让我们看回map函数。当你要对数组内的每个元素做一些事,你很可能不在乎哪个元素先做。无论由第一个元素开始执行,还是是由最后一个元素开始执行,你的结果都是一样的。这样如果你手头上有2个CPU,你可以写段代码,使它们各自处理1/2的元素,于是乎map快了两倍。设想你在全球有千千万万台服务器,恰好你有一个真的很大很大的数组,现在你可以在几千台服务器上同时执行map,让每台服务器都来解决同一个问题的一小部分。

???? Map的定义:

Map,?written?by?the?user,?takes?an?input?pair?and?produces?a?set?of?intermediate?key/value?pairs.?The?MapReduce?library?groups?together?all?intermediate?values?associated?with?the?same?intermediate?key?I?and?passes?them?to?the?Reduce?function.

???? Reduce的定义:

The?Reduce?function,?also?written?by?the?user,?accepts?an?intermediate?key?I?and?a?set?of?values?for?that?key.?It?merges?together?these?values?to?form?a?possibly?smaller?set?of?values.?Typically?just?zero?or?one?output?value?is?produced?per?Reduce?invocation.?The?intermediate?values?are?supplied?to?the?user’s?reduce?function?via?an?iterator.?This?allows?us?to?handle?lists?of?values?that?are?too?large?to?fit?in?memory.

?

??? MapReduce论文中给出了这样一个例子:在一个文档集合中统计每个单词出现的次数。Map操作的输入是每一篇文档,将输入文档中每一个单词的出现输出到中间文件中去。


MapReduce-大规模数据集分布式并行演算编程模型

热点排行