Spark程序提交过程初探

背景:最近想去系统吃的看一看sparkCore的源码,一回想发现自己有一点懵 O(∩_∩)O哈哈~  现在重新找回一下记忆

一句很经典的话“No picture you say a JB”  那我们贯彻这个宗旨,先上一张图,看图说话O(∩_∩)O哈哈~

 

有问题请直接拍脸上,让我清醒的认识到错误

接下来就是一顿~~:

这里分析的是standalone模式,我们编写好了spark程序,完事之后就要去提交运行(提交过程此处省略,后面再详谈),代码提交了,首先在我们要提交代码的机器上创建一个Driver;我们的Driver进程构建几个组件之后,向Spark集群的Master进行注册Application(就是我们的代码),主要是为了告诉Master,我有一个程序要执行了,你看着给我分配一些资源,用来运行这个程序(提交的时候我们可以指定运行这个程序所需要的资源);Master在接收到这个信息之后,就去找worker啊,看看那些活着的worker,是不是能够满足Application执行所需要的资源啊,找到了满足的,然后就在Worker上启动Executor(关于启动多少个,和我们的需求有关);Executor启动之后,会去找Driver,得让Driver知道我提交的Application要在哪里执行啊;Driver获取到Executor之后就可以开始执行应用程序了,首先构建一个初始的RDD,这样数据就会分不到各个Worker上;然后对我们的程序进行解析(stage的划分,生成Task),然后根据某种规则把Task发送给Executor去执行;这一块我也是有疑问的这个初始的RDD构建什么时候开始的???  有大神可以指点一下,我自己也会去看一下源码,后面会提到。Executor在接收到Task之后,会开启线程进行执行这些Task(就是对RDD的partition进行各种算子操作),这就是spark代码提交运行的初步理解;

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值