大数据走向云计算 (7).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文档。上传文档
查看更多
第7章 并行计算 并行计算(Parallel Computing)是指同时使用多种计算资源解决计算问题的过程。为执行并行计算,计算资源应包括一台配有多处理机(并行处理)的计算机、一个与网络相连的计算机专有编号,或者两者结合使用。 并行计算的主要目的是快速解决大型且复杂的计算问题。此外还包括:利用非本地资源,节约成本―使用多个“廉价”计算资源取代大型计算机,同时克服单个计算机上存在的存储器限制。 7.1 并行计算概述 为利用并行计算,通常计算问题表现为以下特征: (1)将工作分离成离散部分,有助于同时解决; (2)随时并及时地执行多个程序指令; (3)多计算资源下解决问题的耗时要少于单个计算资源下的耗时。 并行计算求解问题过程示意图 7.2 MapReduce基础 与传统的分布式程序设计相比,MapReduce封闭了并行处理、容错处理、本地化计算、负载均衡等细节,还提供了简单而强大的接口。通过这个接口,可以把大数据量的计算自动地并发和分布执行,使之变得非常容易。 MapReduce的运行模型图 7.3 MapReduce模板 大多数MapReduce程序的编写都可以简单地依赖于一个模板及其变种。当撰写一个新的MapReduce程序时,通常会采用一个现有的MapReduce程序,并将其修改成所希望的样子。 典型Hadoop程序的模板为代码为: public class MyJovb extends Configured implements Tool { public static class MapClass extends MapReduceBase implements MapperText,Text,Text,Text { public void map(Text key,Text value,OutputCollectorText,Textoutput,Reporter reporter)throws IOException { output.collect(value,key); } } …… 7.4 MapReduce计算流程 当一个作业提交到了作业服务器上,作业服务器会生成若干个Map任务,每一个Map任务,负责将一部分的输入转换成格式与最终格式相同的中间文件。 与HDFS类似,任务服务器是通过心跳消息,向作业服务器汇报此时此刻其上各个任务执行的状况,并向作业服务器申请新的任务的。具体实现,是TaskTracker调用InterTrackerProtocol协议的heartbeat方法来做的。 比之Map任务,Reduce的分配及其简单,基本上是所有Map任务完成了,有空闲的任务服务器,来了就给分配一个Job任务。 7.5 MapReduce数据流优化 一个MapReduce作业的输入和输出类型流程图如图所示。 MapReduce输入输出流程 从图可看出MapReduce框架是建立在键-值对的输入输出基础上的,因此针对基于MapReduce输入输出的进程,Hadoop开发了一些列的容器,很重要的两种就是Hadoop的SequenceFile和MapFile两种文件。 7.6 MapReduce数据类型 7.6.1数据内置输入格式 数据输入格式(InputFormat)用于描述MapReduce作业的数据输入规范。 7.6.2 数据定制输入格式 虽然Hadoop提供了很多内置的数据输入格式和RecordReader,但在某些情况下可能仍然无法满足用户的特殊需要,这种情况下用户需要定制自己的数据输入格式和RecordReader。 7.6.3数据定制输出格式 在默认情况下,MaReduce将产生包含一至多文件的单个输出数据文件集合。但有时候作业希望输出多个文件集合。 7.7 MapReduce使用算法 MapReduce框架并不能解决所有问题,甚至有些可以基于多计算节点并行处理的问题也不宜采用MapReduce来处理。要知道,整个分布式文件系统只在文件巨大、更新的情况下才有意义。 谷歌采用MapReduce的最初目的是为了处理PageRank计算过程中必需的大矩阵-向量乘法。 7.7.1 向量乘法实现 7.7.2 内存处理 7.7.3 关系运算 7.8 参数/数据文件的传递与使用 MapReduce并行计算框架的一个重要设计原则是:通过程序向数据迁移的方式,尽量做本地化计算,以减少网络传输数据的通信量,提供程序设计性能。因此,大多数情况下每个Map或Reduce节点都仅仅负责处理本地的数据,不需要考虑在全局范围内共享访问和处理数据。但是,有时候,可能会需要

文档评论(0)

132****9295 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档