Spark调度系列-----3.SparkContext对象的创建和SparkContext的作用

    SparkContext是Spark Application程序的表示。在Driver程序中首先创建SparkContext对象,在创建这个对象的时候,Spark Application运行需要的重要参数会在这里初始化。下面的图表述了SparkContext创建初始化的重要参数。



DAGSchedule的作用:Spark Stage的切分等功能,它主要描述了Spark Application如何在集群中运行

TaskScheduler的作用:负责Application任务的调度的具体执行,比如提交任务、取消任务、任务完成后的处理等

驱动SchedulerBackend的作用:不同的运行模式,驱动SchedulerBackend的类型不同,比如Standalone模式是SparkDeploySchedulerBackend,它的父类是CoarseGrainedSchedulerBackend。驱动SchedulerBackend是驱动在集群上的表示,它负责设置用来于Executor通信的驱动Url、包装spark application的运行参数用于和Master通信,接收并处理请求资源的消息等。它的非常重要的成员是创建用于和Master通信的AppClient,AppClient可以向Master发起注册Application的事件,并且告诉Master如何为Application分配资源。它跟TaskScheduler联系比较紧密,它负责消息的接收,但是具体消息的处理由TaskScheduler实现。

SparkEnv为Spark Application运行提供了支撑,Driver和Executor都有自己的SparkEnv。Driver的SparkEnv作用为:

Executor ID为字符串Driver
用于各个节点通信使用的RpcEnv
Driver端用于跟踪map output信息的数据结构 MapOutputTrackerMaster
用于存储数据序列化的类 serializer
用于closure序列化的类closureserializer
用于cache数据管理的数据结构CacheManager
用于shuffle管理的数据结构ShuffleManager
用于管理广播变量的数据结构BroadcastManager
用于提供block在节点间传递服务的数据结构BlockTransferManager,具体实现为NioBlockTransferManager或者NettyBlockTransferManager
用于RDD数据存储的数据结构BlockManager
用于保证Spark节点间通信和Spark不同用户间安全使用的数据结构SecurityManager
用于提供Spark Application程序中的jar包文件或者解释器产生的代码(比如说spark-shell)文件服务的数据结构HttpFileServer
用于Shuffle内存管理的数据结构ShuffleMemoryManager
用于存储下载依赖文件的目录
数据结构MetricSystem
用于Executor内存管理的数据结构ExecutorMemoryManager
用于管理输出数据消息响应的endpoint数据结构OutputCommitCoordinatorEndpoint

Executor的SparkEnv的作用为:

Exiecutor ID为数字,比如1、2、3等
创建用于各个节点通信使用的数据结构RpcEnv
Executor端获取MapOutputTrackerMaster产生的map output信息的数据结构  MapOutputTrackerWorker
用于存储数据序列化的类 serializer
用于closure序列化的类closureserializer
用于cache数据管理的数据结构CacheManager
用于shuffle管理的数据结构ShuffleManager
用于管理广播变量的数据结构BroadcastManager
用于提供block在节点间传递服务的数据结构BlockTransferManager,具体实现为NioBlockTransferManager或者NettyBlockTransferManager
用于RDD数据存储的数据结构BlockManager
用于保证Spark节点间通信和Spark不同用户间安全使用的数据结构SecurityManager
Executor无HttpFileServer服务
用于Shuffle内存管理的数据结构ShuffleMemoryManager
用于存储下载依赖文件的目录
数据结构MetricSystem
用于Executor内存管理的数据结构ExecutorMemoryManager
用于管理输出数据消息响应的endpoint数据结构OutputCommitCoordinatorEndpoint


















  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值