spark编程模型与基本架构图
来源:互联网 发布:2016年双11数据分析 编辑:程序博客网 时间:2024/06/05 04:06
1. spark编程模型
Spark应用程序从编写到提交、执行、输出的整个过程如图2-5所示,图中描述的步骤如下。
0)用户使用SparkContext提供的API(常用的有textFile、sequenceFile、runJob、stop等)编写Driver application程序。
1)Cluster Manager:Spark的集群管理器,主要负责资源的分配与管理。集群管理器分配的资源属于一级分配,它将各个Worker上的内存、CPU等资源分配给应用程序Driver app,但是并不负责对Executor的资源分配。
2)使用SparkContext提交的用户应用程序Driver app,首先会使用BlockManager和Broadcast-Manager将任务的Hadoop配置进行广播。然后由DAGScheduler将任务转换为RDD并组织成DAG,DAG还将被划分为不同的Stage。最后由TaskScheduler借助ActorSystem将任务提交给集群管理器(Cluster Manager)。
3)集群管理器(Cluster Manager)给任务分配资源,即将具体任务分配到Worker上,Worker创建Executor来处理任务的运行。Standalone、YARN、Mesos、EC2等都可以作为Spark的集群管理器。
4)Worker:Spark的工作节点。对Spark应用程序来说,由集群管理器分配得到资源的Worker节点主要负责以下工作:创建Executor,将资源和任务进一步分配给Executor,5)同步资源信息给Cluster Manager。
6)·Executor:执行计算任务的一线进程。主要负责任务的执行以及与Worker、Driver App的信息同步。
2.spark 基本架构
从集群部署的角度来看,Spark集群由以下部分组成:
·Cluster Manager:Spark的集群管理器,主要负责资源的分配与管理。集群管理器分配的资源属于一级分配,它将各个Worker上的内存、CPU等资源分配给应用程序,但是并不负责对Executor的资源分配。目前,Standalone、YARN、Mesos、EC2等都可以作为Spark的集群管理器。
·Worker:Spark的工作节点。对Spark应用程序来说,由集群管理器分配得到资源的Worker节点主要负责以下工作:创建Executor,将资源和任务进一步分配给Executor,同步资源信息给Cluster Manager。
·Executor:执行计算任务的一线进程。主要负责任务的执行以及与Worker、Driver App的信息同步。
·Driver App:客户端驱动程序,也可以理解为客户端应用程序,用于将任务程序转换为RDD和DAG,并与Cluster Manager进行通信与调度。
- spark编程模型与基本架构图
- Spark 概述与编程模型
- spark概述与编程模型
- spark架构设计&编程模型01
- spark架构设计&编程模型 02
- spark架构设计&编程模型01
- 【Spark亚太研究院系列丛书】Spark实战高手之路-第3章Spark架构设计与编程模型第2节:Spark架构设计(1)
- 【Spark亚太研究院系列丛书】Spark实战高手之路-第3章Spark架构设计与编程模型第2节:Spark架构设计(2)
- 【Spark亚太研究院系列丛书】Spark实战高手之路-第3章Spark架构设计与编程模型第3节:Spark架构设计(1)
- 【Spark亚太研究院系列丛书】Spark实战高手之路-第3章Spark架构设计与编程模型第3节:Spark架构设计(2)
- Spark设计理念与基本架构
- 1.Spark概述与编程模型
- Storm架构与编程模型分析
- Spark中的编程模型
- Spark编程模型
- Spark编程模型
- Spark中的编程模型
- spark编程模型
- mybatis的xml文件在IDEA中变黄
- Java虚拟机学习笔记整理
- mysql--查询缓存
- 对Hibernate框架的查询进行优化
- Tensorflow之TensorBoard的使用
- spark编程模型与基本架构图
- 动态规划学习(2)
- CSS(十二)
- 生活小记64
- Unity与C#的序列化与反序列化
- 在android studio里怎找到代码相对应的文件
- 虚拟机网络配置笔记===收集资料
- CSS(十三)
- spring mvc+ajax返回json字符串的方式