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 ...
随机推荐
- VSCode eslint校验 tab改为2个空格
修改:.eslintrc.json
- OpenSSL for Android
http://blog.csdn.net/xiongmc/article/details/25736041 OpenSSL1)开源项目Guardian Project试图让Android手机也拥有类似 ...
- 支持鼠标拖拽滑动的jQuery焦点图
在线演示 本地下载
- IIS部署PHP项目并与mysql完美结合
在上一篇文章中,提到iis与apache共用80端口,但是发现很多问题,例如 IIS网站有支付功能,而微信支付是不支持带有端口的网址的,虽然通过apche代理,在外面看来没有端口,可是内部还是避免不了 ...
- [Android]开源中国源码分析之二---DrawerLayout
从启动界面到主界面之后的效果如图所示,采用的是v4包下的DrawerLayout, activity_main.xml文件如下: <!-- A DrawerLayout is intended ...
- DB2日期及时间的使用
1.DB2中日期.时间寄存器的使用 --取日期 SELECT CURRENT DATE FROM sysibm.sysdummy1; --返回数据类型:DATE --结果集(YYYY-MM-DD): ...
- ADO.Net连接Oracle
1.添加 Oracle.ManagedDataAccess.dll 2.连接Oracle的实例得添加到Oracle的监听器中,不然会报“ORA-12514: TNS: 监听程序当前无法识别连接描述符中 ...
- [thinkphp使用phpspreadsheet时出现]Cannot redeclare xxxxxx() (previously declared in C:\WWW\xxx.xxx:xxx)
[thinkphp使用phpspreadsheet时出现]Cannot redeclare xxxxxx() (previously declared in C:\WWW\xxx.xxx:xxx) 一 ...
- sql分页的几种写法
一直想整理下关于sql分页的几种方法,今天终于有时间整理下了.闲话少说直接上sql,先创建一个测试库,测试表以及测试数据,sql语句如下: CREATE DATABASE DBTEST GO USE ...
- 工程优化方法中的“最速下降法”和“DFP拟牛顿法”的 C 语言实现
这个小程序是研一上学期的“工程优化”课程的大作业.其实这题本可以用 MATLAB 实现,但是我为了锻炼自己薄弱的编码能力,改为用 C 语言实现.这样,就得自己实现矩阵的运算(加减乘除.求逆.拷贝):难 ...