基础课程 教案 云编程1.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Computer School, NUDT. Spring, 2013 本章将论述真实云平台下的编程,其中将介绍和评价MapReduce、BigTable、Twister、Dryad、DryadLINQ、Hadoop、Sawzall和Pig Latin。我们用具体的实例来讲解云中的实现和应用需求。 通过应用实例讲解了由谷歌应用引擎(GAE)、亚马逊Web服务(AWS)和微软Windows Azure提供的云服务。特别地,我们演示了怎样对GAE、AWS EC2、S3和EBS编程。 6.1 云和网格平台的特性 本节总结了真实云和网格平台的重要特性。在4个表格中,涵盖了功能、传统特性、数据特性以及程序员和运行时系统使用的特性。 问题1:计算一批文档中每个单词的出现次数。 解:唯一“key”——每个单词;中间“value”——出现次数。 问题2:计算一批文档中相同大小、相同字母数量的单词的出现次数。 解:唯一“key”——每个单词;中间“value”——单词大小。 问题3:计算一批文档中变位词(anagram)出现的次数。变位词是指字母相同但是顺序不同的单词(例如,单词“listen”和“silent”)。 解:唯一“key”——每个单词中按照字母顺序排列的字母(如“eilnst”);中间“value”——出现次数。 图6-2 在5个处理步骤中连续(key,value)对的MapReduce逻辑数据流 反过来,Reduce函数以中间值群组的形式接受中间(key, value)对,这个中间值群组和一个中间key(key, [set of values])相关。 实际上,MapReduce框架形成了这些群组,首先是对中间(key, value)对排序,然后以相同的key来把value分组。 需要注意的是,数据的排序是为了简化分组过程。Reduce函数处理每个(key, [set of values])群组,并产生(key, value)对集合作为输出。 著名的MapReduce问题——被称为“单词计数”(wordcount),是用来计算一批文档中每一个单词出现的次数。图6-3说明了一个简单输入文档的“单词计数”问题的数据流,这个文件只包含如下两行:(1)“most people ignore most poetry”, (2)“most poetry ignores most people”。在这个例子里,Map函数同时为每一行内容产生若干个中间(key, value)对,所以每个单词都用带“1”的中间键值作为其中间值,如(ignore, 1)。然后,MapReduce库收集所有产生的中间(key, value)对,进行排序,然后把每个相同的单词分组为多个“1”,如(people, [1,1])。然后把组并行送入Reduce函数,所以就把每个单词的“1”累加起来,并产生文件中每个单词出现的实际数目,例如(people, 2) 图6-3单词计数问题的数据流,以级联操作方式使用MapReduce函数(Map,Sort,Group和Reduce) MapReduce数据流的形式化符号 解决MapReduce问题的策略 将所有中间数据分组之后,出现相同key的value会排序并组合在一起。产生的结果是,分组之后所有中间数据中每一个key都是唯一的。所以寻找唯一的key是解决一个典型MapReduce问题的出发点。然后,作为Map函数输出的中间(key, value)对将会自动找到。 下面的三个例子解释了如何在这些问题中确定key和value: MapReduce真实数据和控制流 1.数据分区:MapReduce库将已存入GFS的输入数据(文件)分割成M部分,M也即映射任务的数量。 2.计算分区:计算分块通过强迫用户以Map和Reduce函数的形式编写程序,(在MapReduce框架中)被隐式地处理。所以,MapReduce库只生成用户程序的多个复制(例如,通过fork系统调用),它们包含了Map和Reduce函数,然后在多个可用的计算引擎上分配并启动它们。 3.决定主服务器(master)和服务器(worker):MapReduce体系结构是基于主服务器-服务器模式的。所以一个用户程序的复制变成了主服务器,其他则是服务器。主服务器挑选空闲的服务器,并分配Map和Reduce任务给它们。典型地,一个映射/化简服务器是一个计算引擎,例如集群节点,通过执行Map/Reduce函数来运行映射/化简任务。步骤4~7描述了映射服务器。 4.读取输入数据(数据分发):每一个映射服务器读取其输入数据的相应部分,即输入数据分割,然后输入至其Map函数。虽然一个映射服务器可能运行多个Map

您可能关注的文档

文档评论(0)

WanDocx + 关注
实名认证
文档贡献者

大部分文档都有全套资料,如需打包优惠下载,请留言联系。 所有资料均来源于互联网公开下载资源,如有侵权,请联系管理员及时删除。

1亿VIP精品文档

相关文档