第2章Google云计算原理与应用讲解.ppt

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Map: (in_key, in_value) ? {(keyj, valuej) | j = 1…k} Reduce: (key, [value1,…,valuem]) ? (key, final_value) 开发者需编写 两个主要函数 Reduce输入参数:(key, [value1,…,valuem]) Reduce工作:对这些对应相同key的value值进行归并处理 Reduce输出结果:(key, final_value),所有Reduce的结果并在一起就是最终结果 Map的输入参数指明了需要处理哪部分数据,以“<在文本中的起始位置,需要处理的数据长度>”表示,经过Map处理,形成一批中间结果“<单词,出现次数>”。而Reduce函数处理中间结果,将相同单词出现的次数进行累加,得到每个单词总的出现次数 怎么用MapReduce计算一个大型文本文件中各单词出现次数? 分布式数据处理MapReduce ?产生背景 ?编程模型 实现机制 案例分析 MapReduce操作执行流程图 操作过程 (1)输入文件分成M块,每块大概16M~64MB(可以通过参数决定),接着在集群的机器上执行分派处理程序 (2)M个Map任务和R个Reduce任务需要分派,Master选择空闲Worker来分配这些Map或Reduce任务 (3)Worker读取并处理相关输入块,Map函数产生的中间结果<key,value>对暂时缓冲到内存 (4)中间结果定时写到本地硬盘,分区函数将其分成R个区。中间结果在本地硬盘的位置信息将被发送回Master,然后Master负责把这些位置信息传送给Reduce Worker 操作过程 (5)当Master通知执行Reduce的Worker关于中间<key,value>对的位置时,它调用远程过程,从Map Worker的本地硬盘上读取缓冲的中间数据。当Reduce Worker读到所有的中间数据,它就使用中间key进行排序,这样可使相同key的值都在一起 (6)Reduce Worker根据每一个唯一中间key来遍历所有的排序后的中间数据,并且把key和相关的中间结果值集合传递给用户定义的Reduce函数。Reduce函数的结果写到一个最终的输出文件 (7)当所有的Map任务和Reduce任务都完成的时候,Master激活用户程序。此时MapReduce返回用户程序的调用点 MapReduce容错 Master周期性地给Worker发送ping命令,若没有应答,则认为Worker失效,终止其任务调度,把该任务调度到其他Worker上重新执行 Master会周期性地设置检查点(checkpoint),并导出Master的数据。一旦某个任务失效,系统就从最近的一个检查点恢复并重新执行 MapReduce容错 分布式数据处理MapReduce ?产生背景 ?编程模型 实现机制 案例分析 假设有一批海量的数据,每个数据都是由26个字母组成的字符串,原始的数据集合是完全无序的,怎样通过MapReduce完成排序工作,使其有序(字典序)呢? 排序通常用于衡量分布式数据处理框架的数据处理能力 对原始的数据进行分割(Split),得到N个不同的数据分块 每一个数据分块都启动一个Map进行处理。采用桶排序的方法,每个Map中按照首字母将字符串分配到26个不同的桶中 按照首字母将Map中不同桶中的字符串集合放置到相应的Reduce中进行处理。具体来说就是首字母为a的字符串全部放在Reduce1中处理,首字母为b的字符串全部放在Reduce2,以此类推 《云计算(第二版)》购买网址: 当当网:/product.aspx?product_id京东商城:html * * 第2章 Google云计算原理与应用 提 纲 ? Google文件系统GFS ? 分布式数据处理MapReduce ? 分布式锁服务Chubby ? 分布式结构化数据表Bigtable ? 分布式存储系统Megastore ? 大规模分布式系统的监控基础架构Dapper ? Google应用程序引擎 Google文件系统GFS ? 系统架构 ? 容错机制 ? 系统管理技术 Google业务 ?全球最大搜索引擎、Google Maps、Google Earth、Gmail、YouTube等 数据量巨大,且面向全球用户提供实时服务 Google云计算平台技术架构 ?文件存储,Google Distributed File System,GFS ?并行数据处理MapReduce ?分布式锁Chubby ?

文档评论(0)

美洲行 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档