33、Spark内核源码深度剖析之SparkContext原理剖析与源码分析

原理剖析

13274599-99d9d5b2850872cf.png

SparkContext原理剖析.png

源码解读

本系列文章spark版本为1.3.0
入口org.apache.spark.SparkContext
SparkContext要点

  1. TaskScheduler如何注册application,executor如何反向注册
  2. DAGScheduler
  3. SparkUI

本文主要分析1TaskScheduler的相关代码

 

13274599-6eefd974001d9a5e.png

1.png

 

看图1的createTaskScheduler方法

 

13274599-4a8a19c863d9dee9.png

2.png


看图2的new TaskSchedulerImpl(sc)

13274599-b8154e424020b251.png

3.png

 

继续看图2的new SparkDeploySchedulerBackend(scheduler, sc, masterUrls)
SparkDeploySchedulerBackend,它在底层会接收TaskSchedulerImpl的控制,实际上负责与Master的注册,Executor反注册,task发送到executor等
TaskSchedulerImpl底层实际主要基于SparkDeploySchedulerBackend来工作

回到图2看scheduler.initialize(backend)

 

13274599-2e9d90c279c2e895.png

4.png

 

创建SchedulePool,它有不同的优先策略,比如FIFO
然后回到图1 看 taskScheduler.start()

 

13274599-67801fd911519afb.png

5.png


看图5的backend.start()

13274599-3d03008d0976dda2.png

6.png

 

看图6的client = new AppClient(sc.env.actorSystem, masters, appDesc, this, conf)

 

13274599-0412afad43c68957.png

7.png


看图6的client.start()

13274599-1309aaf68aac2182.png

8.png


看图8的new ClientActor

13274599-f48bcf412c29c93e.png

9.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值