博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Spark工作原理】stage划分原理理解
阅读量:5323 次
发布时间:2019-06-14

本文共 485 字,大约阅读时间需要 1 分钟。

Job->Stage->Task

开发完一个应用以后,把这个应用提交到Spark集群,这个应用叫Application。这个应用里面开发了很多代码,这些代码里面凡是遇到一个action操作,就会产生一个job任务。

一个Application有一个或多个job任务。job任务被DAGScheduler划分为不同stage去执行,stage是一组Task任务。Task分别计算每个分区partition上的数据,Task数量=分区partition数量。

 

Spark如何划分Stage

会从执行action的最后一个RDD开始向前推,首先为最后一个RDD创建一个stage,向前遇到某个RDD是宽依赖,再划分一个stage。如下图,从宽依赖处划分为2个stage。

 

 

 

原理的应用场景:

1.通过监控界面上每个stage及其内部task运行情况,找到对应的代码段做性能调优。

2.指定RDD的分区数参数,实际也调整了task的数量,在数据量较大时适当调整增加并行度。

 

转载于:https://www.cnblogs.com/wwcom123/p/10492731.html

你可能感兴趣的文章
小程序开发笔记
查看>>
Web框架高级功能之模板、拦截器、Json、打包
查看>>
如何辨别一个程序员的水平高低?是靠发量吗?
查看>>
安装scikit-learn过程记录
查看>>
数据库的标识符可以有多长
查看>>
新手村之循环!循环!循环!
查看>>
在创业公司上班的感受
查看>>
Shell脚本
查看>>
masm32V11配置
查看>>
ASP.NET中Request.ApplicationPath、Request.FilePath、Request.Path、.Request.MapPath
查看>>
通过Python、BeautifulSoup爬取Gitee热门开源项目
查看>>
正则表达式的用法
查看>>
线程安全问题
查看>>
集合的内置方法
查看>>
IOS Layer的使用
查看>>
Android SurfaceView实战 带你玩转flabby bird (上)
查看>>
Android中使用Handler造成内存泄露的分析和解决
查看>>
android代码控制seekbar的样式
查看>>
SSM集成activiti6.0错误集锦(一)
查看>>
个人作业
查看>>