Spark DAG之SubmitTask
来源:互联网 发布:网络层几个协议 编辑:程序博客网 时间:2024/06/08 15:51
概要
介绍Stage转为Task,提交给Executor运行的过程。
Task介绍
Task是执行计算的单元,Executor调用Task对象的runTask方法完成计算。查看定义
Task有两个子类,并且和Stage的类型存在对应关系,即Stage会转为对应的Task,如下
最后,UML如下
submitMissingTasks
上一篇博客Spark DAG之SubmitStage介绍了submitStage方法,当提交的Stage没有父Stage或父Stage已执行完毕时,调用submitMissingTasks方法,查看该方法
这是submitMissingTasks的开始部分,作用如图中注释。
preferred location
接着查看submitMissingTasks方法,根据cache信息和RDD的preferredLocations获取preferred location
broadcast taskBinary
把Stage的RDD和ShuffleDependency(或func)广播到Executor
Stage类型不同,广播内容不同
Stage转为Task
根据Stage类型,生成对应的Task,taskBinary变量是上面刚介绍的,广播到Executor节点的
上图中可以看到另一个重要信息,Partition和Task数的对应关系,RDD的一个Partition对应生成一个Task。
send Task
最后一步,发送Task到Executor
关于TaskScheduler提交Task更多的内容,参考我的博客Spark 任务调度之Driver send Task。
至此,submitMissingTasks方法执行完毕,Task也被发送Executor。
总结
介绍Task类,及submitMissingTasks方法中Stage转为Task并提交的细节,主要步骤如下
- 获取preferred location。
- broadcast taskBinary。
- Stage转为Task。
- send Task。
- Spark DAG之SubmitTask
- Spark DAG之SubmitJob
- Spark DAG之SubmitStage
- Spark DAG之划分Stage
- Spark DAG概述
- Spark任务提交与执行之RDD的创建、转换及DAG构建
- Spark DAG stage与 Drill DAG execution tree
- DAG之最短路
- DAG之最短路
- Spark中RDD DAG图的建立
- Exchange 2010 之DAG安装
- Excahnge 2010之DAG配置
- 嵌套矩阵之DAG类型
- DAG问题之矩形嵌套
- DAG
- DAG
- Spark 源码解析 : DAGScheduler中的DAG划分与提交
- Spark作业提交和DAG调度器生成Task
- 三、Nasty Hacks
- 微信小程序之侧栏分类 —— 微信小程序实战商城系列(1)
- JAVA中枚举类的使用
- javaScript高级程序设计学习笔记(5上)
- Winform FTP 文档管理 下载 上传---登录(一)
- Spark DAG之SubmitTask
- 替换字符串
- 科学计算库Numpy --数组(ndarray)
- 18_python_练习题——写入文件到word文档中
- ArcGis + VS
- 信号(signals)和槽(slots) 精讲
- 怎样在Eclipse开发环境中连接MySQL数据库
- Discuz!网站运营教程之防采集设置
- Linux 内核的文件 Cache 管理机制介绍