- 1、本文档共119页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
大数据培训讲解
大数据培训讲义
2013-6
目录
大数据起源-Google三篇
Google MapReduce
Google分布式文件系统GFS
Goolge分布式结构化数据表BigTable
三个层面上的基本构思
如何对付大数据处理:分而治之
对相互间不具有计算依赖关系的大数据,实现并行最自然的办法就是采取分而治之的策略
上升到抽象模型:Mapper与Reducer
MPI等并行计算方法缺少高层并行编程模型,为了克服这一缺陷,MapReduce借鉴了Lisp函数式语言中的思想,用Map和Reduce两个函数提供了高层的并行编程抽象模型
上升到构架:统一构架,为程序员隐藏系统层细节
MPI等并行计算方法缺少统一的计算框架支持,程序员需要考虑数据存储、划分、分发、结果收集、错误恢复等诸多细节;为此,MapReduce设计并提供了统一的计算框架,为程序员隐藏了绝大多数系统层面的处理细节
Google MapReduce的基本模型和处理思想
Google MapReduce的基本模型和处理思想
大数据分而治之
建立Map和Reduce抽象模型
典型的流式大数据问题的特征
大量数据记录/元素进行重复处理
对每个数据记录/元素作感兴趣的处理、获取感兴趣的中间结果信息
排序和整理中间结果以利后续处理
收集整理中间结果
产生最终结果输出
关键思想:为大数据处理过程中的两个主要处理阶段
提炼为一种抽象的操作机制
Google MapReduce的基本模型和处理思想
建立Map和Reduce抽象模型
借鉴函数式程序设计语言Lisp中的思想,定义了Map和Reduce两个抽象的操作函数:
map: (k1; v1) [(k2; v2)]
reduce: (k2; [v2]) [(k3; v3)]
特点:
描述了对一组数据处理的两个阶段的抽象操作
Google MapReduce的基本模型和处理思想
上升到构架--自动并行化并隐藏低层细节
海量数据存储
Google MapReduce的基本模型和处理思想
上升到构架--自动并行化并隐藏低层细节
海量数据存储
计算结果
Combiner和Partitioner
Google MapReduce的基本模型和处理思想
Google MapReduce并行处理的基本过程
1.有一个待处理的大数据,被划分为大小相同的数据块(如64MB),及与此相应的用户作业程序
2.系统中有一个负责调度的主节点(Master),以及数据Map和Reduce工作节点(Worker)
Google MapReduce的基本模型和处理思想
Google MapReduce并行处理的基本过程
3.用户作业程序提交给主节点
4.主节点为作业程序寻找和配备可用的Map节点,并将程序传送给map节点
5.主节点也为作业程序寻找和配备可用的Reduce节点,并将程序传送给Reduce节点
Google MapReduce的基本模型和处理思想
Google MapReduce并行处理的基本过程
6.主节点启动每个Map节点执行程序,每个map节点尽可能读取本地或本机架的数据进行计算
7.每个Map节点处理读取的数据块,并做一些数据整理工作(combining, sorting等)并将中间结果存放在本地;同时通知主节点计算任务完成并告知中间结果数据存储位置
Google MapReduce的基本模型和处理思想
Google MapReduce并行处理的基本过程
8.主节点等所有Map节点计算完成后,开始启动Reduce节点运行;Reduce节点从主节点所掌握的中间结果数据位置信息,远程读取这些数据
9.Reduce节点计算结果汇总输出到一个结果文件即获得整个处理结果
Google MapReduce的基本模型和处理思想
Google MapReduce并行处理的基本过程
完整计算过程
Google MapReduce的基本模型和处理思想
存储位置的计算策略
策略
MapReduce的master在调度Map任务时会考虑输入文件的位置信息,尽量将一个Map任务调度在包含相关输入数据拷贝的机器上执行;如果上述努力失败了,master将尝试在保存有输入数据拷贝的机器附近的机器上执行Map任务(例如,分配到一个和包含输入数据的机器在一个switch里的worker机器上执行)。当在一个足够大的cluster集群上运行大型MapReduce操作的时候,大部分的输入数据都能从本地机器读取,因此消耗非常少的网络带宽。。
Google MapReduce的基本模型和处理思想
失效处理
主节点失效
主节点中会周期性地设置检查点(checkpoin
文档评论(0)