Spark分析之SparkContext启动过程分析

SparkContext是Spark的核心,本文详细分析其初始化过程,包括创建SparkEnv、初始化SparkUI、建立TaskScheduler、构建DAGScheduler及启动taskScheduler。在启动过程中,会创建SchedulerBackend,注册应用到Master,并探讨CoarseGrainedSchedulerBackend与ExecutorBackend的交互。
摘要由CSDN通过智能技术生成

SparkContext作为整个Spark的入口,不管是spark、sparkstreaming、spark sql都需要首先创建一个SparkContext对象,然后基于这个SparkContext进行后续RDD的操作;所以很有必要了解下SparkContext在初始化时干了什么事情。

 

SparkContext初始化过程主要干了如下几件事情:

1、根据SparkContext的构造入参SparkConf创建SparkEnv;

2、初始化SparkUI;

3、创建TaskScheduler;

4、创建DAGScheduler;

5、启动taskScheduler;

 

通过源代码说明SparkContext初始化的过程

1、创建SparkEnv

private[spark] val env = SparkEnv.create(
    conf, "<driver>", conf.get("spark.driver.host"), conf.get("spark.driver.port").toInt,
    isDriver = true, isLocal = isLocal, listenerBus = listenerBus)
SparkEnv.set(env)

 

2、初始化SparkUI

private[spark] val ui = new SparkUI(this)
ui.bind()

 

3、创建TaskScheduler:根据spark的运行模式创建不同的SchedulerBackend

复制代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值