Spark2学习总结_2016年11月

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第1页2016年11月岳凯Spark2学习总结第2页目录I大数据基本概念IISpark基本知识Spark数据分析案例IVIIISpark进阶知识第3页大数据基本概念大数据的5V特点(IBM提出):Volume(大量)Velocity(高速)Variety(多样)Value(价值)Veracity(真实性)大数据不解释因果关系,只关心相关性第4页大数据基本概念Google三篇论文,奠定了大数据算法的基础2003年,发布GoogleFileSystem论文这是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用,运行于廉价的普通硬件上,提供容错功能。从根本上说:文件被分割成很多块,使用冗余的方式储存于商用机器集群上。2004年,发布MapReduce论文论文描述了大数据的分布式计算方式,主要思想是将任务分解后在多台处理能力较弱的计算节点中同时处理,然后将结果合并从而完成大数据处理。2006年,发布Bigtable论文,启发了无数的NoSQL数据库,如:Cassandra、HBase、MongoDB等等。第5页大数据基本概念互联网大数据的典型代表包括:用户行为数据:精准广告投放、内容推荐、行为习惯和喜好分析、产品优化等用户消费数据:精准营销、信用记录分析、活动促销、理财等用户地理位置数据:O2O推广,商家推荐,交友推荐等互联网金融数据:P2P,小额贷款,支付,信用,供应链金融等用户社交等UGC数据:趋势分析、流行元素分析、受欢迎程度分析、舆论监控分析、社会问题分析等第6页大数据基本概念-Hadoop生态系统Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序,充分利用集群的威力进行高速运算和存储。Hadoop的核心的设计是:HDFS和MapReduce。HDFS为海量的数据提供了存储,MapReduce为海量的数据提供了计算。第7页大数据基本概念-Hadoop-HDFSHDFS(Hadoop分布式文件系统)源自于Google的GFS论文,HDFS是GFS克隆版。HDFS是Hadoop体系中数据存储管理的基础。它是一个高度容错的系统,能检测和应对硬件故障,用于在低成本的通用硬件上运行。HDFS简化了文件的一致性模型,通过流式数据访问,提供高吞吐量应用程序数据访问功能,适合带有大型数据集的应用程序。它提供了一次写入多次读取的机制,数据以块的形式,同时分布在集群的不同物理机器上。第8页大数据基本概念-Hadoop-MapReduceMapReduce(分布式计算框架)源自于google的MapReduce论文,HadoopMapReduce是googleMapReduce克隆版。MapReduce是一种分布式计算模型,用以进行大数据量的计算。它屏蔽了分布式计算框架细节,将计算抽象成map和reduce两部分,其中Map对数据集上的独立元素进行指定的操作,生成键值对形式的中间结果。Reduce则对中间结果中相同“键”的所有“值”进行规约,以得到最终结果。MapReduce非常适合在大量计算机组成的分布式并行环境里进行数据处理。第9页大数据基本概念-Hadoop-HBASEHBASE(分布式列存数据库)源自Google的Bigtable论文,HBase是GoogleBigtable克隆版HBase是一个建立在HDFS之上,面向列的,针对结构化数据的可伸缩、高可靠、高性能、分布式的动态模式数据库。HBase采用了BigTable的数据模型:增强的稀疏排序映射表(Key/Value),其中,键由行关键字、列关键字和时间戳构成。HBase提供了对大规模数据的随机、实时读写访问。HBase中保存的数据可以使用MapReduce来处理,它将数据存储和并行计算完美地结合在一起。第10页大数据基本概念-Hadoop-Zookeeper&HIVEZookeeper(分布式协作服务)解决分布式环境下的数据管理问题:统一命名,状态同步,集群管理,配置同步等。Hadoop的许多组件依赖于Zookeeper,它运行在计算机集群上面,用于管理Hadoop操作。HIVE(数据仓库)Hive定义了一种类似SQL的查询语言(HQL),将SQL转化为MapReduce任务在Hadoop上执行。通常用于离线分析。HQL用于运行存储在Hadoop上的查询语句,Hive让不熟悉MapReduce的开发人员也能编写数据查询语句,然后这些语句被翻译为Hadoop上面的MapReduce任务。第11页大数据基本概念-Hadoop-YarnYarn(分布式资源管理器)Yarn是MapReducev2版本,是在第一代MapReduce基础上演变而来的。重构的根本思想是将JobTracker两个主要的功能分离成单独的组件,这两个功能是资源管理和任务调度/监控。Yarn是一种分层的集群框架,。分层结构的本质是ResourceManager,这个实体控制整个集群并管理应用程序向基础计算资源的分配。ResourceManager将各个资源部分(计算、内存、带宽等)精心安排给基础NodeManager(Yarn的每节点代理)。第12页大数据基本概念-Hadoop-MesosMesos(分布式资源管理器)Mesos是诞生于UCBerkeley的一个研究项目,现已成为Apache项目,当前有一些公司使用Mesos管理集群资源,比如Twitter。与Yarn类似,Mesos是一个资源统一管理和调度的平台,同样支持比如MR、streaming等多种运算框架。第13页大数据基本概念-Hadoop适用的场景Hadoop主要应用于数据量大的离线场景。特征为:数据量大。一般真正线上用Hadoop的,集群规模都在上百台到几千台的机器。离线。MapReduce框架下,很难处理实时计算,作业都以日志分析这样的线下作业为主。数据块大。由于HDFS设计的特点,Hadoop适合处理文件块大的文件。如:百度每天都会有用户对侧边栏广告进行点击。这些点击都会被记入日志。然后在离线场景下,将大量的日志使用Hadoop进行处理,分析用户习惯等信息。第14页大数据基本概念-后Hadoop时代大数据应用未来的价值在于预测,而预测的核心是分析。未来的几年,将进入“后Hadoop时代”:内存计算时代的来临随着高级分析和实时应用的增长,对处理能力提出了更高的要求,数据处理重点从IO重新回到CPU。以内存计算为核心的Spark将代替以IO吞吐为核心的MapReduce成为分布式大数据处理的缺省通用引擎。统一数据访问管理现在的数据访问由于数据存储的格式不同、位置不同,用户需要使用不同的接口、模型甚至语言。未来的趋势是将底层部署运维细节和上层业务开发进行隔离。简化实时应用现在用户不仅关心如何实时的收集数据,而且关心同时尽快的实现数据可见和分析结果上线,希望能够有一种解决快速数据的方案,使用HDFS和HBase的混合体,在快速更新数据的同时进行快速分析。第15页目录I大数据基本概念IISpark基本知识Spark数据分析案例IVIIISpark进阶知识第16页Spark是什么?Lightning-fastclustercomputingApacheSpark™isafastandgeneralengineforlarge-scaledataprocessing.Spark是一个快速和通用的大数据处理引擎。闪电快速集群计算第17页Spark是什么?Spark最初是由加州大学伯克利分校的AMPLab于2009年提交的一个项目,现在是Apache软件基金会旗下最活跃的开源项目之一Spark是一个分布式的大数据处理框架,基于RDD(弹性分布式数据集),立足内存计算的一栈式计算平台2016年11月14日发布Spark2.0.2版本第18页Spark四大优势优势一:快速处理(Speed)Spark内存运行速度是HadoopMapReduce100倍,硬盘运行速度为10倍。使用逻辑回归算法处理同样数据,Hadoop用时110秒,Spark用时0.9秒第19页Spark四大优势优势二:易于使用(EaseofUse)Spark代码量小;支持Scala、Java、Python,R语言的API。Spark代码示例,计算一个文件中有多少个单词:valfile=sc.textFile(“hdfs://…”)valcounts=file.flatMap(line=line.split(““)).map(word=(word,1)).reduceByKey(_+_)counts.saveAsTextFile(“hdfs://…”)第20页Spark四大优势优势三:通用性强(Generality)Spark提供了一个强大的技术堆栈,是一个可以进行即时查询、流处理、机器学习、图处理等多种大数据处理的计算平台。第21页Spark四大优势优势四:可以与Hadoop数据集成(RunsEverywhere)Spark可以独立运行,也可以运行在Mesos、Yarn等集群资源管理系统上;还可以运行在Hadoop数据源上,如Hive、HBase、HDFS等。第22页Spark生态系统BDAS-旧版BDAS(theBerkeleyDataAnalyticsStack),全称伯克利数据分析栈,是AMP实验室打造的一个开源的大数据处理一体化的技术生态系统,其核心框架是Spark第23页Spark生态系统BDAS-新版BDAS(theBerkeleyDataAnalyticsStack),全称伯克利数据分析栈,是AMP实验室打造的一个开源的大数据处理一体化的技术生态系统,其核心框架是Spark第24页Spark组件-SparkCoreSpark的核心组件分布式大数据处理框架比MapReduce计算速度快核心技术为RDDSparkCoreBDAS伯克利数据分析栈SparkSparkCoreRDD弹性分布式数据集核心框架核心组件核心技术第25页Spark组件-SparkSQL集成性好:在Spark程序中无缝混合SQL查询统一的数据访问:以同样的方式连接到任何数据源兼容Hive:已有Hive查询语句不用修改支持标准连接:JDBC、ODBCSparkSQLSparkSQLisApacheSpark'smoduleforworkingwithstructureddata.SparkSQL在Spark内核基础上提供了对结构化数据的处理第26页Spark组件-SparkStreamingSparkStreamingSparkStreamingmakesiteasytobuildscalablefault-tolerantstreamingapplications.SparkStreaming是一个对实时数据流进行高通量、容错处理的流式处理系统。易于使用:可通过高层操作构建应用,支持Java,Scala和Python容错:可以不用额外代码就恢复丢失的工作和操作集成:基于Spark运行,可以组合流的批处理和交互式查询第27页Spark组件-GraphX灵活:与图形和集合无缝工作速度快:性能堪比最快的专业图形处理系统算法:从一个不断增长的图形算法库选取GraphXGraphXisApacheSpark'sAPIforgraphsandgraph-parallelcomputation.GraphX是一个基于Spark的分布式图计算子框架,提供了图计算中用于图和图并行计算的接口。第28页Spark组件-MLlibMLlibMLlibisApacheSpark'sscalablemachinelearninglibrary.MLlib(MachineLearninglib)是Spark对常用的机器学习算法的实现库。易于使用:可用于Java,Scala,Python,andR高性能:高质量的算法,比MapRed

1 / 104
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功