版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Spark简介与生态Spark简介ApacheSpark是专门为大规模数据处理而设计的基于内存的快速通用计算平台。它是加州大学伯克利分校AMP(Algorithms,Machines,andPeopleLab)实验室开发和开源的类HadoopMapReduce的通用并行框架,可以用来构建大型的、低延迟的数据分析应用程序。
Spark计算平台Spark提供了一个全面、统一的框架,包括SparkSQL、SparkStreaming、SparkMLlib、SparkGraphX等技术组件,可以一站式地完成大数据领域的离线批处理、交互式查询分析、流计算、机器学习、图计算等常见的任务。Spark计算平台的生态Spark生态圈以SparkCore为核心,可从HDFS、AmazonS3和HBase等持久层读取数据,以YARN、Mesos和自身携带的Standalone为ClusterManager调度任务Job完成Spark应用程序的计算。Spark的应用场景Spark适用于计算量大、效率要求高的应用场景;基于实时数据流的数据处理,延迟性要求为数百毫秒到数秒;基于历史数据的交互式查询,要求响应较快。例如,使用大数据分析来构建推荐系统,进行个性化推荐、广告定点投放等,这种应用场景的数据量大且需要进行逻辑复杂的批数据处理,对计算效率有较高的要求。Spark的应用场景Spark架构和部署模式Spark架构Spark架构包括集群资源管理器(ClusterManager)、运行作业任务的工作节点(WorkerNode)、每个应用的任务控制节点(Driver)和每个工作节点上负责具体任务的执行进程(Executor)。Spark架构Spark支持多种集群资源管理器,自带Standalone集群资源管理器、Mesos或YARN,系统默认采用YARN模式。Spark架构SparkApplication作为一系列独立的进程运行在集群上,用户使用SparkContext提供的API编写DriverApplication,使用SparkContext提交任务给ClusterManager。SparkContext通过这些ClusterManager分配整个程序资源。只要能连接上任意一种ClusterManager,Spark就会获得每个工作节点上的Executor。Spark的部署模式(1)Local模式
Local模式也称单节点模式,用于在本地部署单个Spark服务。该模式常用于本地开发学习和测试,还分为Local和LocalCluster两类。(2)Standalone模式
独立集群运行模式。Spark原生的简单集群资源管理器自带完整的服务,可被单独部署到一个集群中,无须依赖任何其他资源管理系统。Standalone模式采用Master/Slave的典型架构,为了解决单点故障问题,可以采用ZooKeeper实现高可靠性。Spark的部署模式(3)YARN模式:
使用Hadoop的YARN组件进行资源与任务调度。YARN模式根据Driver在集群中的位置分为两种:一种是YARN-Client模式,另一种是YARN-Cluster模式。YARN-Client模式适用于交互与调试,YARN-Cluster适用于公司应用的生产环境。(4)Mesos模式:
Spark使用Mesos平台进行资源与任务调度。Spark运行流程Spark运行流程无论Spark以何种模式进行部署,在提交Spark任务后,都会首先启动Driver进程,并由Driver进程向资源管理器注册应用程序,然后资源管理器会根据此任务的配置文件分配并启动Executor。Spark运行流程当Driver所需的资源全部满足后,Driver开始执行main()函数。Spark查询为懒执行或惰性操作,当执行到Action操作时开始反向推算,根据宽依赖进行Stage划分。每个Stage对应一个TaskSet(任务集),TaskSet中有多个Task,根据本地化原则,Task会被分发给指定的Executor执行。Spark运行流程在任务执行的过程中,Executor也会不断地与Driver通信,报告任务运行情况。Spark的Job提交流程Spark任务调度Spark数据处理模型RDDRDD概念与特点RDD(ResilientDistributedDataset,弹性分布式数据集)是Spark中最基本的数据处理模型。RDD是一种有容错机制的特殊数据集合,可以分布在集群的节点上,以函数式操作集合的方式进行各种并行操作。RDD概念与特点Spark中,对数据的操作主要包括创建RDD、转换已有RDD和调用RDD进行求值。RDD包括两种类型的操作,即Transformation操作和Action操作。RDD采用惰性求值,只有在执行Action操作时,才会真正地进行运算。每次调用Action操作时,整个RDD都会从头开始计算。RDD分区分区的概念RDD分区是指RDD内部的数据集合在逻辑上和物理上被划分成多个子集合。这样的每个子集合被称为分区,即数据集的一个逻辑块。RDD分区的作用RDD分区主要有两方面的作用:一方面是增加并行度,另一方面是减少通信开销。RDD概念与特点分区的原则分区的个数会对Spark性能有影响。RDD的分区原则是分区的个数尽可能等于集群中的CPU核心(Core)数目,以实现数据的并行计算。分区的原则分区的个数会对Spark性能有影响。RDD的分区原则是分区的个数尽可能等于集群中的CPU核心(Core)数目,以实现数据的并行计算。RDD基本操作Spark支持两种RDD基本操作,即Transformation(转换)和Action(行动)。Transformation操作是指将一个RDD通过一种规则映射为另一个RDD,该操作由RDD的转换函数来实现,即懒操作函数,这些函数不触发执行,会返回另一个RDD。Action操作则主要是对RDD进行最后的操作,如遍历、Reduce、保存到文件等,并且可以返回结果给Driver程序。RDD基本操作RDD基本操作的执行过程Transformation操作Transformation操作主要用于根据已有RDD创建新的RDD,提供给下一个“转换”算子使用。Action操作Action操作用于执行计算并按指定的方式输出结果。RDD基本操作RDD基本操作范例Spark与ScalaScala源自Java,构建在J
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 肝硬化说课件的
- 版西安市房屋租赁合同自行成交版
- 2024版房地产开发项目土石方运输合同3篇
- 2024年度工程款结算审计合同2篇
- 手车辆销售合同模板完整版
- 物理化学期中复习 第十五章
- 人教版九年级化学第十二单元1人类重要的营养物质分层作业课件
- 2024年度电子合同在教育电子商务中的应用与法律框架
- 人教版九年级化学第九单元溶液3溶液的浓度课时1溶质的质量分数溶液的稀释或浓缩教学课件
- 新员工培训实施方案策划
- 浙江大学硕士论文模板
- 土力学及地基基础教案(完整)
- 系统工程习题及答案
- 2023年全国普通高等学校体育单招真题政治试卷(原卷+解析)
- 露天矿山竣工报告
- 酒吧客服部制度
- (完整word版)高考英语作文练习纸(标准答题卡)
- 3-7《计量时间和我们的生活》练习(含答案)
- 医学英语医英了immunesystem课件
- 在公司班组建设推进会上的讲话
- 中学中小学心理健康教育特色学校申报表(含申报材料)1
评论
0/150
提交评论