大数据分布式计算框架简介_第1页
大数据分布式计算框架简介_第2页
大数据分布式计算框架简介_第3页
大数据分布式计算框架简介_第4页
大数据分布式计算框架简介_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大数据分布式计算框架简介2/1/20231各种名词云平台数据中心集群超级计算机分布式计算并行计算云计算集群计算高性能计算超级计算网格计算分布式系统并行系统2/1/20232不一定准确的理解互联网连接的计算机低速互联网络,通用硬件,分布分散服务器的集合高速互联网络,通用硬件,分布集中超级计算机超高速互联网络,专门定制的硬件,分布集中云平台数据中心集群超级计算机分布式计算并行计算云计算集群计算高性能计算超级计算网格计算分布式系统并行系统以上名词都可以对应到左边三类系统上2/1/20233各种名词在线处理,离线处理流处理(流式处理),批处理(批量处理)实时处理,流数据,批量数据2/1/20234数据存储技术数据处理技术数据存储通信统计分析机器学习Hadoop起源DougCutting

LuceneHadoop这个名字不是一个缩写,而是一个虚构的名字,是Doug的孩子给一个棕黄色的大象玩具的命名GoogleLab的三篇论文GFS,MapReduce,BigTable——HDFS,MapReduce,HBase商业公司Cloudera,MapR,Hortonworks开发语言Java2/1/20235Hadoop2/1/20236Hadoop2/1/20237HadoopHadoop框架中最核心设计是HDFS和MapReduce。HDFS,即为分布式文件系统,提供了对大规模数据的存储;MapReduce则提供了对数据的分布式计算。2/1/202382/1/20239MahoutMahout是Apache旗下的一个开源项目,是一个很强大的数据挖掘工具及分布式机器学习算法的集合,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。Mahout包含的算法实现主要有:推荐(Recommendation),聚类(Clustering),分类(Classification),频繁子项挖掘等。Mahout用MapReduce实现了部分数据挖掘算法,解决了并行挖掘的问题。这里说的“解决”是一个初步的概念,很多算法由于各种原因是无法用map-reduce并行实现的。2/1/202310SparkBerkeleyDataAnalyticsStack(BDAS)BDAS是UCBerkeleyAMPLab开源的通用并行计算框架开发语言ScalaScala是一种函数式面向对象语言,它融汇了许多前所未有的特性,而同时又运行于JVM之上。Scala运行于Java平台(Java虚拟机),并兼容现有的Java程序。它也能运行于JavaME,CLDC(JavaPlatform,MicroEditionConnectedLimitedDeviceConfiguration)上。还有另一.NET平台的实现,不过该版本更新有些滞后。商业公司Databricks2/1/202311Spark2/1/202312MLBaseMLBase是Spark生态圈的一部分,专注于机器学习,包含三个组件:MLlib、MLI、MLOptimizer。MLlib是Spark的分布式机器学习库。MLI提供特征提取和算法开发的API,引入更高层次的机器学习编程抽象。MLOptimizer致力于实现机器学习流水线建立任务的自动化。优化器解决了对包含在MLI和MLlib中的特征提取和机器学习算法的搜索问题。目前,MLOptimizer正在积极的开发过程中。2/1/202313SparkRSparkR是AMPLab发布的一个R开发包,为ApacheSpark提供了轻量的前端。SparkR提供了Spark中弹性分布式数据集(RDD)的API,用户可以在集群上通过Rshell交互性的运行job。SparkR应该被看作是R版Spark的轻量级前端,这意味着它不会拥有像Scala或Java那样广泛的API,但它还是能够在R里运行Spark任务和操作数据。除了常见的RDD函数式算子reduce、reduceByKey、groupByKey和collect之外,SparkR也支持利用lapplyWithPartition对每个RDD的分区进行操作。AMPLab团队已经表现出了今后在SparkR中集成Spark

MLlib机器学习类库的浓厚兴趣,这样一来,算法可以无缝地并行运行而无需特别手动设定哪一部分的算法可以并行运行2/1/202314Storm起源Storm是Twitter开源的一个的实时数据处理框架,它原来是由BackType开发,后BackType被Twitter收购,将Storm作为Twitter的实时数据分析系统。开发语言Clojure。Clojure是Lisp语言的一种现代方言。类似于Lisp,Clojure支持一种功能性编程风格,但Clojure还引入了一些特性来简化多线程编程(一种对创建Storm很有用的特性)。Clojure是一种基于虚拟机(VM)的语言,在Java虚拟机上运行。2/1/202315StormDAG计算模型Tuple:数据处理单元,一个Tuple由多个Field组成Stream:持续的Tuple流Spout:从外部获取数据,输出原始TupleBolt:接收Spout/Bolt输出的Tuple,处理,输出新Tuple2/1/202316一个普通的Storm拓扑结构的概念性架构MapReduce功能的简单Storm拓扑结构GraphLab起源GraphLab是一个基于图像处理模型的开源图计算框架,由卡内基梅隆大学的Select实验室在2010年提出的。2015年1月8日GraphLab筹得1850万美金,并改名为Dato,以显示在大数据时代,该计算框架不仅可以建立图表模型,还能够分析和处理数据。GraphLab提供了一个完整的平台,让机构能使用可扩展的机器学习系统进行大数据分析,该平台客户包括Zillow、Adobe、Zynga、Pandora等,它们从其它应用程序中抓取数据,通过推荐系统、情感及社交网络分析系统等将大数据理念转换为可以使用的预测应用程序。开发语言C++2/1/202317GraphLab2/1/202318Petuum起源卡内基梅隆大学ICML2014程序主席邢波开发语言C++2/1/202319PetuumEricXing指出,一方面,很多机器学习学者由于本身训练局限或者习惯思维的缘故,对系统知识通常并不了解,他们看到一百台机器跟一台机器的差别只不过乘了一百,中间的代价或者机器的失效几率他们可以都不太考虑,所以他们的算法主要是针对数学上的正确性或者是迭代算法迭代次数的减少性,但是他们不会钻研算法到底在一个真实的机器群上怎么运作。另一方面,系统工程师对机器学习或者统计学习原理、技术并不见得非常精通,他们所需要实现的目标是尽可能实现极高的迭代输出,修正由于机器造成的一些损耗,所以他们会发展一些非常可靠、非常高通的技术,而忽视了机器学习的特点。2/1/202320Petuum这里用容错性对机器学习程序与普通程序的区别做一个比较。我们对一组数进行排序,这个过程是不能容错的,必须精密到按步骤进行实现,一步都不能错。这是传统计算机程序的普遍特点。机器学习不是精密实现设定好的计划,而是通常实现一个数学优化问题。这如同爬山,可以从这条路爬,也可以从那条路爬,所以有一种容错性,有容错性就给了新的机会。走错了以后也不一定要走回去重走。2/1/202321Petuum设计可以有两种极端,一端是同步协议,Hadoop和Spark都是这样做的,这在数学上可证明是对的,但也会造成效率的损失。另一端是完全不同步,这对程序的收敛性和正确性没有任何保障。在这两端往往可以做一个权衡。Petuum采取中间路线,使用一种半同步的技术,让机器在有限的窗口里做局部运算,用参数值的局部版本做运算,不与其他节点通信。当这个窗口被突破的时候,就必须停下来等待同步。每一个线程到达窗口边界的时间是随机的,所以最后结果是所有线程都可以在最大程度上使用窗口做运算。2/1/202322Petuum对数据和模型的并行计算进行区别对待对于系统工程师,数据和模型并没有什么区别,它都是在内存中的一些数字而已当数据被并行时,它们之间是不相关的,所以不需要在它们之间进行协调;而当模型被并行的时候,中间结果实际是相关的,所以不在过程中进行协调,最后结果就会出错。这种情况下我们会发现,对数据和模型的并行需要做不同的通讯和系统设计。2/1/202323PDMiner中国科学院计算技术研究所开发了基于Hadoop的并行分布式数据挖掘平台PDMiner,这是一个集成各种并行算法的数据挖掘工具平台,包括数据预处理(ETL)、数据挖掘算法、结果展示等功能。并行ETL算法达到了线性加速比;可实现TB级海量数据的预处理及之后的并行挖掘分析处理,且挖掘算法随节点数线性增加,加速比随之增加。其中的并行计算模式不仅包括算法之间的并行,而且包括算法内部的并行。该系统具有运行稳定,容错能力强,扩展性好等特点。目前已用于中国移动通信企业TB级实际数据的挖掘2/1/202324小结Hadoop Apache Yahoo!MahoutRHdoopSpar

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论