spark流程跟踪
每个action对应一个job,每个job里面会有很多个阶段(stage),其实每个stage都是一个算子(Operation),可能是transformation,可能是action;但是action一定是一个job的最后一个stage, 其实action之前的stage都是做DAG而已,真正触发执行其实是在action执行的时候,因为action的操作是基于前面的transformation执行结果基础之上的,这也算是一种懒加载吧。
关于DAG,通过看YARN的UI,发现其实只是包括Transformation(在job页面,点击DAG Visualization),但是Job其实是包含两类stage,一部分是DAG(map算子组合)stage,一部分执行(action)stage,一定是最后一个stage;所以在job页面,DAG+stage decription里面描述的action,组合在一起才是一个Job;与之对应的一个job最多只有两个stage,一个stage是map构建的DAG过程,第二个stage
举一个栗子:
rdd.map( r => mapFunction(r)).repartitionAndSortWithinPartitions(regionSplitPartitioner).hbaseForeachPartition(this, (it, conn)
这段代码的执行将会创建一个job,一般job都是以action名称来描述,这个job的描述就是: foreachPartition at HBaseContext.scala:103,包括了action的类型以及代码位置。
这个job就有两个stage:
map at HBaseContext.scala:771
foreachPartition at HBaseContext.scala:103
最后一个概念,就是task,task和stage有关,对应两种task:ShuffleMap task以及Result task两种。前者是指将Map的数据进行分桶,分区;后者指的是将数据发送给Driver。
spark流程跟踪的更多相关文章
- activiti流程跟踪图算法
流程跟踪图-推导算法 工作中使用activiti实现流程图相关业务,但是上线后遇到问题,偶尔流程图出不来.查阅了一下画流程图的实现,基本上是参见:activiti-流程图颜色变化之一篇. 核心类,参见 ...
- I.MX6 Linux Qt 启动流程跟踪
/************************************************************************** * I.MX6 Linux Qt 启动流程跟踪 ...
- Buildroot 打包文件系统流程跟踪
/********************************************************************************* * Buildroot 打包文件系 ...
- am335x u-boot2011.09 SPL 流程跟踪
跟踪一下 u-boot 2011.09 MLO在 nandflash 下运行的流程 首先,直接进入 start.S // arch/arm/cpu/armv7/start.S 36 .globl _s ...
- show create table底层流程跟踪
GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 导语 SHOW CREATE TABLE语句用于为指定表/视图显示创建的语句,本文将简要描述如何在MySQL源码里跟踪和学 ...
- u-boot2011.09 u-boot.img 的流程跟踪
一.主要是start.S 里面的 board_init_f 以及 board_init_r 函数分析,MLO与 u-boot.omg 的区别就在这里 二. MLO 加载完毕,他会重新回到 start. ...
- android 流程跟踪
#记录一下 Thread cur_thread = Thread.currentThread(); StackTraceElement stack[] = cur_thread.getStackTra ...
- android WiFi ASSOC_REJECT 流程跟踪
Android设备在于AP关联时,如果AP返回关联拒绝帧,Android设别会把AP加入黑名单中. 黑名单中的设备将会在扫描时,延时一段时间放在后面处理. 代码以及log基于SDM450, Andro ...
- spark(3)
0.spark -------------------------------------------- transformation map filter repartition spark核心AP ...
随机推荐
- Docker容器技术-镜像分发
一.镜像分发 1.镜像及镜像库的命名方式 指定镜像名称和标签的方法: 在狗偶见镜像时 通过docker tag命令 [root@bogon ~]# cd identidock/ [root@bogon ...
- Shell编程之循环控制及状态返回值
1.break.continue.exit.return的对比 break.continue在条件语句和循环语句中用于控制程序走向: exit用于终止所有语句并退出当前脚本,还可以返回上一次程序或命令 ...
- HTML5 上传图片 到ASP.NET MVC
@{ ViewBag.Title = "Home Page"; } <!DOCTYPE HTML PUBLIC> <html> <head> & ...
- 【[NOI2011]智能车比赛】(建图+spfa+坑爹精度)
过了这题我就想说一声艹,跟这个题死磕了将近6个小时,终于是把这个题死磕出来了.首先看到这个题的第一反应,和当初做过的一个房间最短路比较相似,然后考虑像那个题那样建边,然后跑最短路.(具体建边方法请参考 ...
- Qt中使用setStyleSheet对QPushButton按钮进行外观设置
Qt中使用setStyleSheet对按钮进行外观设置 字体颜色的设置一般时以下两种方案: (1)属于QWidget子类的一些控件 可以直接使用样式表,例如label->setStyleShee ...
- 使用标签代替goto关键字
众所周知,java中没有goto语句,但是保留了goto这个关键字.由于goto是在源码级上的跳转,多次使用goto会引起代码混乱容易出错,这也是java取消goto语句的目的所在,但是goto语句也 ...
- bzoj 1101 zap 莫比乌斯
1101: [POI2007]Zap Time Limit: 10 Sec Memory Limit: 162 MB Description FGD正在破解一段密码,他需要回答很多类似的问题:对于给 ...
- git 里面遇到的问题
第一步:建立git仓库(本地) cd到你的本地项目根目录下,执行git命令 git init 第二步:将项目的所有文件添加到仓库中 git add . 如果想添加某个特定的文件,只需把.换成特定的文件 ...
- python读取.mat文件的数据
首先导入scipy的包 from scipy.io import loadmat 然后读取 m = loadmat("F:/__identity/activity/论文/data/D001. ...
- ubuntu上安装nodejs
目录: 1. nodejs的下载 2. 解压和安装 3. 安装过程中出现过的问题 4. 总结 1. nodejs的下载 我刚开始没有linux系统,于是安装了nodejs的windows版本进行学习. ...