┃大数据技术┣ Spark的任务提交流程

   日期:2020-10-13     浏览:88    评论:0    
核心提示:1、通过Spark的脚本spark-submit初始化SparkContext2、初始化SparkContext会初始化两个非常重要的对象DAGScheduler和TaskScheduler3、当DAGScheduler和TaskScheduler创建成功后,会生成一个Application,注册到Master节点。Application中封装的是提交的各种参数(核数、内存等)以及所需要的的jar包。参考:./spark-submit --master xxx --executor-memeory xx

1、通过Spark的脚本spark-submit初始化SparkContext
2、初始化SparkContext会初始化两个非常重要的对象DAGScheduler和TaskScheduler
3、当DAGScheduler和TaskScheduler创建成功后,会生成一个Application,注册到Master节点。Application中封装的是提交的各种参数(核数、内存等)以及所需要的的jar包。参考:./spark-submit --master xxx --executor-memeory xx --total-executor-cores xx
4、Master在接收到Driver端提交过来的Application后,会通过资源调度计算Application需要的资源,并将任务发送到Worker节点
5、Worker收到Master发来的任务请求,会启动Executor,里面封装的是各种资源
6、当Worker内的Executor启动完成,并且成功床架线程池后,集群的准备工作完成。会向Driver端反向注册,准确的说是想TaskScheduler注册。至此,SparkContext的初始化完成
7、此时开始执行任务,我们代码中没每遇到一个Action算子,都会触发一个job
8、将job划分为多个stage,通过stage的划分算法,进行阶段划分
9、划分完stage后,会在stage的内部提交task,通过TaskSet将task提交给TaskSceduler
10、TaskSceduler在接收到任务后,会将task分发到不同Executor执行
11、在提交过程中中,内部会通过本地化级别,对任务进行级别划分,共有5种级别
12、TaskRunner执行Task,以FIFO的模式进行任务调度
13、Task内部,会将Task分为两种:上游Task(MapTask)和下游Task(ReduceTask)

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服