4spark入门优秀课件_第1页
4spark入门优秀课件_第2页
4spark入门优秀课件_第3页
4spark入门优秀课件_第4页
4spark入门优秀课件_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

Spark入门介绍信春雷什么是SparkSpark是UC

Berkeley

AMP

lab所开源的类Hadoop

MapReduce的通用的并行计算框架,Spark基于map

reduce算法实现的分布式计算,拥有Hadoop

MapReduce所具有的优点;但不同于MapReduce的是Job中间输出和结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的map

reduce的算法。Spark和Hadoop区别数据存储内存

Spark更适合于迭代运算比较多的ML和DM运算。因为在Spark里面,有RDD的抽象概念。Spark比Hadoop更通用

①Spark提供的数据集操作类型有很多种,不像Hadoop只提供了Map和Reduce两种操作;

②各个处理节点之间的通信模型不再像Hadoop那样就是唯一的DataShuffle一种模式。用户可

以命名,物化,控制中间结果的存储、分区等。可以说编程模型比Hadoop更灵活;

③不过由于RDD的特性,Spark不适用那种异步细粒度更新状态的应用;不适合增量修改;容错性在分布式数据集计算时通过checkpoint来实现容错,而checkpoint有两种方式,一个是checkpointdata,一个是loggingtheupdates。用户可以控制采用哪种方式来实现容错。可用性

Spark通过提供丰富的Scala,Java,PythonAPI及交互式Shell来提高可用性。

Spark可以直接对HDFS进行数据的读写,同样支持SparkonYARN。Spark可以与MapReduce运行于同集群中,共享存储资源与计算,数据仓库Shark实现上借用Hive,几乎与Hive完全兼容。Spark适用场景Spark是基于内存的迭代计算框架,适用于需要多次操作特定数据集的应用场合。需要反复操作的次数越多,所需读取的数据量越大,受益越大,数据量小但是计算密集度较大的场合,受益就相对较小由于RDD的特性,Spark不适用那种异步细粒度更新状态的应用,例如web服务的存储或者是增量的web爬虫和索引。就是对于那种增量修改的应用模型不适合。总的来说Spark的适用面比较广泛且比较通用。Spark生态圈(1)Spark生态圈(2)SparkCore

–用于通用分布式数据处理的引擎。它不不依赖于任何其他组件,可以运行在任何商用服务器集群上;SparkSql

–运行在Spark上的SQL查询语句,支持一系列SQL函数和HiveQL。但是还不是很成熟,所以不要在生产系统中使用;而HiveQL集成了需要的hive元数据和Hive相关的jar包;SparkStreaming

–基于spark的微批处理引擎,支持各种各样数据源的导入。唯一依赖的是SparkCore引擎;MLib

–构建在spark之上的机器学习库,支持一系列数据挖掘算法;GraphX-是一个分布式图处理框架;Spark为什么比Hadoop快消除了冗余的HDFS读写

Hadoop每次shuffle操作后,必须写到磁盘,而Spark在shuffle后不一定落盘,可以cache到内存中,以便迭代时使用。如果操作复杂,很多的shufle操作,那么Hadoop的读写IO时间会大大增加;消除了冗余的MapReduce阶段

Hadoop的shuffle操作一定连着完整的MapReduce操作,冗余繁琐。而Spark基于RDD提供了丰富的算子操作,且reduce操作产生shuffle数据,可以缓存在内存中;Spark惰性计算的,只有执行action算子才进行计算;JVM的优化

Hadoop每次MapReduce操作,启动一个Task便会启动一次JVM,基于进程的操作。而Spark每次MapReduce操作是基于线程的,只在启动Executor是启动一次JVM,内存的Task操作是在线程复用的;Spark、Hadoop执行说明Spark会代替Hadoop吗日常工作常用到的需求场景

批处理、实时计算、机器学习Hadoop适合于离线的批量数据处理适用于对实时性要求极低的场景Storm适合于实时流数据处理,实时性方面做得极好Spark是内存分布式计算框架,试图吞并Hadoop的Map-Reduce批处理框架和Storm的流处理框架,但是Spark已经做得很不错了,批处理方面性能优于Map-Reduce,但是流处理目前还是弱于Storm,产品仍在改进之中参考:Spark运行方式单机(开发、测试)

部署在单机上时,既可以用本地模式运行,也可以用伪分布模式运行;SparkOnLocal(本地运行)

SparkOnLocalCluster(本地伪分布)集群(测试、生产)

YarnClient(测试):Driver在客户端本地运行,这种模式可以使得SparkApplication和客户端进行交互

YarnCluster模式(生产):Driver在集群运行,客户端提交完作业就可以撤离Spark运行方式--YarnClientYarnClient模式

①Client向YARN的ResourceManager申请启动ApplicationMaster;

②ResourceManager收到请求后,在集群中选择一个NodeManager,为该应用程序分配第一个Container,要求它在这个Container中启动应用程序的ApplicationMaster,与YARN-Cluster区别的是在该ApplicationMaster不运行SparkContext

③Client中的SparkContext初始化完毕后,与ApplicationMaster建立通讯,向ResourceManager注册,根据任务信息向ResourceManager申请资源(Container)

④一旦ApplicationMaster申请到资源(也就是Container)后,便与对应的NodeManager通信,要求它在获得的Container,准备运行task

⑤Client中的SparkContext分配Task给申请到的资源,运行Task并向Driver汇报运行的状态和进度Spark运行方式--YarnClusterYarnClient模式

①Client向YARN中提交应用程序,包括ApplicationMaster程序、启动ApplicationMaster的命令、需要在Executor中运行的程序等;

②ResourceManager收到请求后,在集群中选择一个NodeManager,为该应用程序分配第一个Container,要求它在这个Container中启动应用程序的ApplicationMaster,其中ApplicationMaster进行SparkContext等的初始化;

③ApplicationMaster向ResourceManager注册④一旦ApplicationMaster申请到资源(也就是Container)后,便与对应的NodeManager通信,要求它在获得的Container

⑤ApplicationMaster中的SparkContext分配Task给Spark核心概念(RDD)弹性分布数据集

Rdd是spark的灵魂,中文翻译弹性分布式数据集,一个rdd它表示已被分区,不可变的并能够被并行操作的数据集合,不同的数据集格式对应不同的RDD实现。rdd内部可以有许多分区(partitions),每个分区又拥有大量的记录(records);RDD是Spark的最基本抽象,是对分布式内存的抽象使用,实现了以操作本地集合的方式来操作分布式数据集的抽象实现;RDD特点它是在集群节点上的不可变的、已分区的集合对象;通过并行转换的方式来创建如(map,filter,join,etc);失败自动重建;可以控制存储级别(内存、磁盘等)来进行重用;必须是可序列化的;是静态类型的;Spark

编程(1)(RDD)弹性分布数据集

Rdd是spark的灵魂,中文翻译弹性分布式数据集,一个rdd它表示已被分区,不可变的并能够被并行操作的数据集合,不同的数据集格式对应不同的RDD实现。rdd内部可以有许多分区(partitions),每个分区又拥有大量的记录(records);RDD是Spark的最基本抽象,是对分布式内存的抽象使用,实现了以操作本地集合的方式来操作分布式数据集的抽象实现;RDD特点它是在集群节点上的不可变的、已分区的集合对象;通过并行转换的方式来创建如(map,filter,join,etc);失败自动重建;可以控制存储级别(内存、磁盘等)来进行重用;必须是可序列化的;是静态类型的;Spark

编程(2)对于RDD可以有两种计算方式:转换(返回值还是一个RDD)与操作(返回值不是一个RDD)。转换(Transformations)(如:map,filter,groupBy,join等),Transformations操作是Lazy的,也就是说从一个RDD转换生成另一个RDD的

温馨提示

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

评论

0/150

提交评论