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 ...
随机推荐
- Django---Blog系统开发之建库
数据库配置: #sqlite3数据库配置: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os. ...
- jQuery滑动杆打分插件
在线演示 本地下载
- 对vector,list的操作函数
向量只能接受同一类型的数据:list可以接受不同的数据. 1.添加元素 vector:> b=c(1,2,3) > b=c(b,"four") #直接在后面添加添加 & ...
- ACM训练小结-2018年6月23日
今天题目情况如下: D题:SG函数相关. 相关知识忘光...已复习. E题:丧心病狂的模拟题目. F题:树分块+容斥. 想到了树上莫队,但是糟糕的是不会O(1)/O(lo ...
- 分布式服务管理zookeeper的java api
zookeeper是一个分布式服务管理工具,本身具备高可用性,很多知名分布式系统入hadoop.Hbase等都采用zk管理. 常见的两个应用场景:1.服务的注册与发现 2.集群统一配置 下面看一下使用 ...
- dedecms 织梦列表页标题增加显示页数
判断是否为第一页,为第一页则不显示页数的代码: {dede:pagelist listsize='0' listitem='pageno' function='html2text(@me)' runp ...
- IOS 发布被拒 PLA 1.2问题 整个过程介绍 01
公司前端时间发布IOS APP ,但是遇到一些很麻烦的问题,就是一个让人摸不着头脑的问题. 问题: The Seller and Artist names associated with your a ...
- setWindowFlags的使用
setWindowFlags的使用 setWindowFlags(Qt::FramelessWindowHint); //隐藏标题栏 setWindowFlags(Qt::WindowCloseBu ...
- Spring AOP的一个比喻和IOC的作用
aop切面编程就是在常规的执行java类中方法前或执行后加入自定义的方法.比如你本来每天都去打酱油,去,打酱油,回.现在我每天在你打酱油路上等着,你去打酱油的时候我打你一顿,回来的时候给你点糖果吃.你 ...
- Maven基础配置
重要网址 Maven主页:http://maven.apache.org/ Maven central repository:http://search.maven.org/ Maven aliyun ...