云计算与大数据技术 课件 第10章 Spark计算平台.pptx

云计算与大数据技术 课件 第10章 Spark计算平台.pptx

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

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数据处理模型RDD

RDD概念与特点RDD(ResilientDistributedDataset,弹性分布式数据集)是Spark中最基本的数据处理模型。RDD是一种有容错机制的特殊数据集合,可以分布在集群的节点上,以函数式操作集合的方式进行各种并行操作。

RDD概念与特点Spark中,

文档评论(0)

balala11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档