每个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流程跟踪的更多相关文章

  1. activiti流程跟踪图算法

    流程跟踪图-推导算法 工作中使用activiti实现流程图相关业务,但是上线后遇到问题,偶尔流程图出不来.查阅了一下画流程图的实现,基本上是参见:activiti-流程图颜色变化之一篇. 核心类,参见 ...

  2. I.MX6 Linux Qt 启动流程跟踪

    /************************************************************************** * I.MX6 Linux Qt 启动流程跟踪 ...

  3. Buildroot 打包文件系统流程跟踪

    /********************************************************************************* * Buildroot 打包文件系 ...

  4. am335x u-boot2011.09 SPL 流程跟踪

    跟踪一下 u-boot 2011.09 MLO在 nandflash 下运行的流程 首先,直接进入 start.S // arch/arm/cpu/armv7/start.S 36 .globl _s ...

  5. show create table底层流程跟踪

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 导语 SHOW CREATE TABLE语句用于为指定表/视图显示创建的语句,本文将简要描述如何在MySQL源码里跟踪和学 ...

  6. u-boot2011.09 u-boot.img 的流程跟踪

    一.主要是start.S 里面的 board_init_f 以及 board_init_r 函数分析,MLO与 u-boot.omg 的区别就在这里 二. MLO 加载完毕,他会重新回到 start. ...

  7. android 流程跟踪

    #记录一下 Thread cur_thread = Thread.currentThread(); StackTraceElement stack[] = cur_thread.getStackTra ...

  8. android WiFi ASSOC_REJECT 流程跟踪

    Android设备在于AP关联时,如果AP返回关联拒绝帧,Android设别会把AP加入黑名单中. 黑名单中的设备将会在扫描时,延时一段时间放在后面处理. 代码以及log基于SDM450, Andro ...

  9. spark(3)

    0.spark -------------------------------------------- transformation map filter repartition spark核心AP ...

随机推荐

  1. VSCode eslint校验 tab改为2个空格

    修改:.eslintrc.json

  2. OpenSSL for Android

    http://blog.csdn.net/xiongmc/article/details/25736041 OpenSSL1)开源项目Guardian Project试图让Android手机也拥有类似 ...

  3. 支持鼠标拖拽滑动的jQuery焦点图

    在线演示 本地下载

  4. IIS部署PHP项目并与mysql完美结合

    在上一篇文章中,提到iis与apache共用80端口,但是发现很多问题,例如 IIS网站有支付功能,而微信支付是不支持带有端口的网址的,虽然通过apche代理,在外面看来没有端口,可是内部还是避免不了 ...

  5. [Android]开源中国源码分析之二---DrawerLayout

    从启动界面到主界面之后的效果如图所示,采用的是v4包下的DrawerLayout, activity_main.xml文件如下: <!-- A DrawerLayout is intended ...

  6. DB2日期及时间的使用

    1.DB2中日期.时间寄存器的使用 --取日期 SELECT CURRENT DATE FROM sysibm.sysdummy1; --返回数据类型:DATE --结果集(YYYY-MM-DD): ...

  7. ADO.Net连接Oracle

    1.添加 Oracle.ManagedDataAccess.dll 2.连接Oracle的实例得添加到Oracle的监听器中,不然会报“ORA-12514: TNS: 监听程序当前无法识别连接描述符中 ...

  8. [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) 一 ...

  9. sql分页的几种写法

    一直想整理下关于sql分页的几种方法,今天终于有时间整理下了.闲话少说直接上sql,先创建一个测试库,测试表以及测试数据,sql语句如下: CREATE DATABASE DBTEST GO USE ...

  10. 工程优化方法中的“最速下降法”和“DFP拟牛顿法”的 C 语言实现

    这个小程序是研一上学期的“工程优化”课程的大作业.其实这题本可以用 MATLAB 实现,但是我为了锻炼自己薄弱的编码能力,改为用 C 语言实现.这样,就得自己实现矩阵的运算(加减乘除.求逆.拷贝):难 ...