- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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中,
您可能关注的文档
- 云计算与大数据技术 课件 第1章 云计算概述.pptx
- 云计算与大数据技术 课件 第2章 虚拟化技术.pptx
- 云计算与大数据技术 课件 第3章 海量数据存储与管理技术.pptx
- 云计算与大数据技术 课件 第4章 网络虚拟化.pptx
- 云计算与大数据技术 课件 第5 章 云计算管理工具.pptx
- 云计算与大数据技术 课件 第6章 大数据概述.pptx
- 云计算与大数据技术 课件 第7章 大数据分析平台与技术栈.pptx
- 云计算与大数据技术 课件 第8章 数据采集工具和消息队列.pptx
- 云计算与大数据技术 课件 第9 章 Hadoop分布式系统基础架构.pptx
- 云计算与大数据技术 课件 第12章 Flink计算平台与实践.pptx
文档评论(0)