MapReduce 执行流程图
图1.1 MapReduce 执行流程图
 MapReduce伪代码:
         实现Map和Reduce两个函数[3]
Map函数和Reduce函数用户自己实现的,这两个函数的作用是定义任务本身。
Map函数
在接受一个键值对(key-value pair)的同时会产生一组中间键值对。MapReduce框架会将map函数产生的中间键值对里键相同的值传递给一个reduce函数。
ClassMapper
methodmap(String input_key, String input_value):
// input_key: text document name
// input_value: document contents
for eachword w ininput_value:
EmitIntermediate(w, "1");
Reduce函数
接受一个键,以及相关的一组值,将这组值进行合并产生一组规模更小的值(通常只有一个或零个值)。
ClassReducer
method reduce(String output_key,Iteratorintermediate_values):
// output_key: a word
// output_values: a list of counts
intresult = 0;
for eachv inintermediate_values:
result += ParseInt(v);
Emit(AsString(result));

Dryad:
     Dryad是微软发布的分布式并行计算平台,他是微软为了抗衡Google公司的MapReduce而开发的。微软的Dryad项目主要研究用于编写并行和分布式程序的编程模型。
 DryadLINQ被用于在该平台上构建应用。与谷歌开发的平台MapReduce相似的地方是Dryad也是通过分布式计算来实现对于海量数据的处理。但它与与MapReduce还是有不同之处:Dryad为Windows HPC Server的计算机集群设计的,但DryadLINQ使用的是.NET的LINQ查询语言模型。
Dryad的“社区技术预览”要求必须有基于Windows HPC Pack 2008 R2 Enterprise的计算机集群,并且安装有Service Pack 1。
上一篇:基于VC++的图像锐化算法的研究与实现
下一篇:jsp+mysql中小型药店供销存管理系统的设计与实现

jsp《计算机硬件技术基础...

中小企业云计算应用的策略SOWT分析

基于WEB的计算机导购平台的设计与实现

ASP.NET的计算机协会管理系统的设计与实现

AngularJs自定义指令不确定...

C语言在计算机中的应用探讨

C++的特殊计算器设计与实现+源代码

酵母菌发酵生产天然香料...

AES算法GPU协处理下分组加...

提高教育质量,构建大學生...

压疮高危人群的标准化中...

浅谈高校行政管理人员的...

上海居民的社会参与研究

从政策角度谈黑龙江對俄...

浅论职工思想政治工作茬...

STC89C52单片机NRF24L01的无线病房呼叫系统设计

基于Joomla平台的计算机学院网站设计与开发