ImageVerifierCode 换一换
格式:PPTX , 页数:72 ,大小:3.46MB ,
资源ID:13886423      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/13886423.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(spark入门及实践PPT文件格式下载.pptx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

spark入门及实践PPT文件格式下载.pptx

1、1、中间结果输出 基于MapReduce的计算模型会将中间结果序列化到磁盘上。而Spark将执行模型抽象为通用的有向无环图执行计划。且可以将中间结果缓存内存中。2、数据格式和内存布局 Spark抽象出分布式内存存储结构RDD,进行数据存储。Spark能够控制数据在不同节点上的分区,用户可以自定义分区策略。,一、Spark综述,3、执行策略 MapReduce在数据shuffle之前总是花费大量时间来排序。Spark支持基于Hash的分布式聚合,在需要的时候再进行实际排序。4、任务调度的开销 MapReduce上的不同作业在同一个节点运行时,会各自启动一个JVM。而Spark同一节点的所有任务都

2、可以在一个JVM上运行。,一、Spark综述,Spark生态随着BDAS的完善,已经成型。Spark全面兼容Hadoop的数据持久层。从而让把计算任务从原来的MapReduce计算任务迁移到Spark中更加简单。目前Spark的工业应用在国内已经大范围落地。包括BAT在内的一众互联网公司都建立了自己的Spark集群,纲要,Spark架构,3,BDAS简介,4,函数式编程简介,7,Spark应用实例,6,Spark安装部署,5,二、Spark关键技术,RDD的全称是弹性分布式数据集(resilient distributed dataset)是Spark的核心数据模型,RDD是Spark中待处理

3、的数据的抽象,它是逻辑中的实体。对于使用者来说,你得到的数据操作接口就是RDD,在对RDD进行处理的时候不需要考虑底层的分布式集群,就像在单机上一样即可,这也正是Spark的优势之一。,二、Spark关键技术,从Hadoop文件系统输入(比如HDFS)创建。从父RDD转换得到新的RDD。将数组或者集合这样的数据结构并行化,转化成RDD。通过cache()函数将计算后的RDD缓存到内存中。,二、Spark关键技术,从逻辑上来看,RDD就是数据。而实际上,从物理上来看,RDD是一种分布式内存的抽象。Spark中的数据实际上是像HDFS那样分块存储,二、Spark关键技术,分区列表计算每个分片的函数

4、对父RDD的依赖对“键值对”数据类型RDD的分区器,控制分区策略和分区数。每个数据分区的地址列表。,所以RDD实际上只是一个元数据对象,用于将对数据集的操作映射到物理存储之上。RDD的重要内部属性如下:,二、Spark关键技术,RDD中的依赖关系RDD之间的依赖关系可以分为两类:窄依赖:每个父 RDD 的分区都至多被一个子 RDD 的分区使用;窄依赖允许在单个集群节点上流水线式执行,这个节点可以计算所有父级分区。在窄依赖中,节点失败后的恢复更加高效。因为只有丢失的父级分区需要重新计算,并且这些丢失的父级分区可以并行地在不同节点上重新计算。宽依赖:多个子 RDD 的分区依赖一个父 RDD 的分区

5、。宽依赖需要所有的父 RDD 数据可用并且数据已经通过类 MapReduce 的操作shuffle 完成。在宽依赖的继承关系中,单个失败的节点可能导致一个 RDD 的所有先祖 RDD 中的一些分区丢失,导致计算的重新执行。,二、Spark关键技术,宽依赖和窄依赖的样例。每一个方框表示一个 RDD,其内的阴影矩形表示 RDD 的分区。,二、Spark关键技术,TransformationTransformation操作是延迟计算的,也就是说从一个RDD转换生成另一个RDD的转换操作不是立即执行的,而是需要等到Action操作是才真正出发运算。ActionAction算子会触发Spark提交作业,

6、并将数据输出到Spark系统。,RDD操作算子,RDD中的操作算子可以分为两类:Transformation(变换)算子 与 Action(行动)算子。,二、Spark关键技术,RDD算子操作举例如下:,Val line=sc.textFile(Test.txt)line.map(n=Integer.parseInt(n)*Integer.parseInt(n).reduce(_+_),二、Spark关键技术,二、Spark关键技术,基于血统的容错机制(lineage):在spark中RDD具有不变性,在数据处理过程中,spark通过lineage图记录了各个RDD之间的变换关系,一旦某个数据

7、处理过程出现错误,spark可以根据lineage图快速进行容错恢复。特别是对于map操作来说,当某个节点的任务失败,spark只需要重新计算相应分区的数据,而不必将整个任务重新计算。在很多分布式数据处理系统中通过备份来进行容错,相比于这种会导致巨大存储消耗的容错方式,spark的lineage图只需要十几kb的存储空间。Spark允许用户将数据cache下来,对于将来可能频繁使用的某个计算结果,将这个RDDcache下来是明智的选择。,二、Spark关键技术,检查点支持:虽然 lineage 可用于错误后 RDD 的恢复,但对于很长的 lineage 的 RDD 来说,这样的恢复耗时较长。由

8、此,可以考虑将某些 RDD 进行检查点操作(Checkpoint)保存到稳定存储上。Spark 当前提供了为 RDD 设置检查点操作的 API,让用户自行决定需要为哪些数据设置检查点操作。由于 RDD 的只读特性使得比常用的共享内存更容易做 checkpoint.由于不需要关心一致性的问题,RDD 的写出可在后台进行,而不需要程序暂停或进行分布式快照,纲要,BDAS简介,4,Scala简介,7,Spark应用实例,6,Spark安装部署,5,三、Spark体系架构,MasterWorker,三、Spark体系架构,三、Spark体系架构,Master进程和Worker进程,对整个集群进行控制。

9、Driver 程序是应用逻辑执行的起点,负责作业的调度,即Task任务的分发Worker用来管理计算节点和创建Executor并行处理任务。Executor对相应数据分区的任务进行处理。,三、Spark体系架构,Client 提交应用,Master找到一个Worker启动DriverDriver向Master或者资源管理器申请资源,之后将应用转化为RDD GraphDAGScheduler将RDD Graph转化为Stage的有向无环图提交给TaskSchedulerTaskScheduler提交任务给Executor执行。,纲要,Spark架构,3,Scala简介,7,Spark应用实例,6

10、,Spark安装部署,5,四、BDAS简介,目前,Spark已经发展成为包含众多子项目的大数据计算平台。伯克利将Spark的整个生态系统称为伯克利数据分析栈(BDAS),目前包含四个已经比较成熟的组件。,四、BDAS简介,谈到Spark SQL:首先需要从Shark说起。,四、BDAS简介,为了给熟悉RDBMS但又不理解MapReduce的技术人员提供快速上手的工具,Hive应运而生,它是当时唯一运行在Hadoop上的SQL-on-Hadoop工具。但是MapReduce计算过程中大量的中间磁盘落地过程消耗了大量的I/O,降低的运行效率,为了提高SQL-on-Hadoop的效率,大量的SQL-

11、on-Hadoop工具开始产生。其中就包括Shark,四、BDAS简介,Shark基于Hive修改了内存管理、物理计划、执行三个模块,并使之能运行在Spark引擎上,从而使得SQL查询的速度得到10-100倍的提升,四、BDAS简介,Shark缺陷:Shark对于Hive的太多依赖,制约了Spark的One Stack Rule Them All的既定方针,制约了Spark各个组件的相互集成SparkSQL抛弃原有Shark的代码,汲取了Shark的一些优点,如内存列存储(In-Memory Columnar Storage)、Hive兼容性等,重新开发了SparkSQL代码;由于摆脱了对Hi

12、ve的依赖性,SparkSQL无论在数据兼容、性能优化、组件扩展方面都得到了极大的方便,四、BDAS简介,*数据兼容方面 不但兼容Hive,还可以从RDD、JSON文件中获取数据*性能优化方面 采取In-Memory Columnar Storage、byte-code generation等优化技术*组件扩展方面 无论是SQL的语法解析器、分析器还是优化器都可以重新定义,进行扩展。,四、BDAS简介,Spark SQL是一个用于结构化的数据处理的模块。Spark SQL和Spark RDD API的区别如下:1、Spark SQL的接口提供更多的关于数据以及操作的结构方面的信息。2、Spar

13、k SQL会利用这些信息对数据操作进行额外的优化。可以通过三种方式与Spark SQL进行交互:SQL、DataFrames API、Datasets API这三种API/语言最终都同一个执行引擎完成操作。所以你可以选择任何一种舒服的方式来书写自己的数据处理逻辑。,四、BDAS简介,Spark SQL的使用方式之一是用来执行SQL查询。特性如下:同时支持标准的SQL语句和HiveQL能够从Hive表中读取数据(需要进行配置)查询结果将返回一个DataFrame支持在交互式环境中使用SQL语句,四、BDAS简介,DataFrame用来描述结构化的数据。Spark官方给出的定义为:A DataFr

14、ame is a distributed collection of data organized into named columns.DataFrame概念上等同于关系型数据库中的一个表或者R/Python语言中的data frame,不同的是Spark提供更丰富的优化。DataFrame可从多种资源中构建:结构化的数据文件、hive中的表、外部数据库、现有的RDD等。DataFrame提供了丰富的API。,四、BDAS简介,Spark Streaming是建立在Spark上的实时计算框架,通过它提供的丰富的API、基于内存的高速执行引擎,用户可以结合流式、批处理和交互试查询应用。Spar

15、k Streaming通过将流数据按指定时间片累积为RDD,然后将每个RDD进行批处理,进而实现大规模的流数据处理。其吞吐量能够超越现有主流流处理框架Storm,并提供丰富的API用于流数据计算。,四、BDAS简介,Spark Streaming是将流式计算分解成一系列短小的批处理作业。把Spark Streaming的输入数据按照batch size(如1秒)分成一段一段的数据,每一段数据都转换成Spark中的RDD将Spark Streaming中对DStream的Transformation操作变为针对Spark中对RDD的Transformation操作将RDD经过操作变成中间结果保存在内存中。整个流式计算根据业务的需求可以对中间的结果进行叠加,或者存储到外部设备。,四、BDAS简介,四、BDAS简介,处理模型,延迟:Storm处理的是每次传入的一个事件,而Spark Streaming是处理某个时间段窗口内的事件流。容错、数据保证:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1