当前位置: 首页 > news >正文

广西 南宁 微信微网站开发宜昌教育培训网站建设

广西 南宁 微信微网站开发,宜昌教育培训网站建设,做淘宝美工和网站设计那个好,wordpress如何集成小工具功能Spark Stage 什么是Stage Spark中的一个Stage只不过是物理执行计划其中的一个步骤,它是物理执行计划的一个执行单元。一个Job会被拆分为多组Task,每组任务被称为一个Stage,可以简单理解为MapReduce里面的Map Stage, Reduce Stag…

Spark Stage

什么是Stage

Spark中的一个Stage只不过是物理执行计划其中的一个步骤,它是物理执行计划的一个执行单元。一个Job会被拆分为多组Task,每组任务被称为一个Stage,可以简单理解为MapReduce里面的Map Stage, Reduce Stage。

spark task提交原理

Spark的Job中Stage之间会有依赖关系。可以利用这些依赖关系把Job所有stage串连起来形成一个有向无环图。在单个job内是根据shuffle算子来拆分stage的,shuffle之前是一个stage,shuffle之后是另一个stage,如果一个job中有多个shuffle,那么每个shuffle之前都是一个stage。一个job被提交运行之后,将会触发stage及其父stage的执行。

spark stage

窄依赖
指父RDD的每一个分区最多被一个子RDD的分区所用,表现为一个父RDD的分区对应于一个子RDD的分区,和两个父RDD的分区对应于一个子RDD 的分区。图中,map/filter和union属于第一类,对输入进行协同划分(co-partitioned)的join属于第二类。

宽依赖
指子RDD的分区依赖于父RDD的所有分区,这是因为shuffle类操作,如图中的groupByKey和未经协同划分的join。
spark 宽依赖窄依赖

Stage:
一个Job会被拆分为多组Task,每组任务被称为一个Stage就像Map Stage, Reduce Stage。Stage的划分,简单的说是以ShuffleMapStage 和ResultStage 这两种类型来划分。

在Spark中有两类task,一类是shuffleMapTask,一类是resultTask,第一类task的输出是shuffle所需数据,第二类task的输出是result,stage的划分也以此为依据,shuffle之前的所有变换是一个stage,shuffle之后的操作是另一个stage。

比如 rdd.parallize(1 to 10).foreach(println) 这个操作没有shuffle,直接就输出了,那么只有它的task是resultTask,stage也只有一个;

如果是rdd.map(x => (x, 1)).reduceByKey(_ + _).foreach(println), 这个job因为有reduce,所以有一个shuffle过程,那么reduceByKey之前的是一个stage,执行shuffleMapTask,输出shuffle所需的数据,reduceByKey到最后是一个stage,直接就输出结果了。

如果job中有多次shuffle,那么每个shuffle之前都是一个stage。

Spark会根据RDD之间的依赖关系将DAG图划分为不同的阶段,对于窄依赖,由于partition依赖关系的确定性,partition的转换处理就可以在同一个线程里完成,窄依赖就被spark划分到同一个stage中,而对于宽依赖,只能等父RDD shuffle处理完成后,下一个stage才能开始接下来的计算。之所以称之为ShuffleMapTask是因为它需要将自己的计算结果通过shuffle到下一个stage中。

Spark Stage的分类

在Spark中,Stage可以分成两种类型。分别是:

  • ShuffleMapStage
  1. 这种Stage是以Shuffle为输出边界
  2. 其输入边界可以是从外部获取数据,也可以是另一个ShuffleMapStage的输出
  3. 其输出可以是另一个Stage的开始
  4. ShuffleMapStage的最后Task就是ShuffleMapTask
  5. 在一个Job里可能有该类型的Stage,也可以能没有该类型Stage
  • ResultStage
  1. 这种Stage是直接输出结果
  2. 其输入边界可以是从外部获取数据,也可以是另一个ShuffleMapStage的输出
  3. ResultStage的最后Task就是ResultTask
  4. 在一个Job里必定有该类型Stage

Stage类的定义

Stage类是一个抽象类,类的定义如下:

abstract class Stage {    def findMissingPartitions(): Seq[Int]}
http://www.yayakq.cn/news/739952/

相关文章:

  • 竞价在什么网站上做公司请做网站
  • 微网站建设cwordpress 主机搬家
  • 代做道具网站专做民宿预定的网站
  • 网站开发毕业设计文档佛山市网站开发
  • 园林工建设有限公司网站最近刚发生的新闻
  • wordpress 企业站无锡游戏网站建设公司
  • 一站式服务平台登录常州app网站
  • 备案 几个网站免费网站开发
  • 传奇发布网站排行五金网站模板
  • 做一个网站要多长时间如何入侵网站后台
  • 网站修改思路wordpress网站安装
  • 网站空间租赁合同网站建设黄页在线免费
  • 网站建设及推广套餐武邑县建设局网站
  • 网站建设打造营销型网站网站怎么做转发
  • 兰州网站中国最大的互联网公司排名
  • php网站打开速度慢网站访问速度慢
  • 网站建设的论文范文广安建网站
  • 网站建设 实训题翔安区建设网站
  • Seo自己做网站wordpress 防止恶意注册
  • crm软件有哪些西安软件优化网站建设
  • 上海部道网站 建设网站怎么维护
  • 惠安县住房和城乡建设局网站网站开发部经理招聘
  • 深圳招聘网站排名陕西省住房建设厅网站
  • 做网站市场报价四川成都旅游必去十大景点推荐
  • 国内高清图片素材网站推荐久久信息网
  • 低成本做网站 白之家安徽建设局网站
  • 订阅号可以建设微网站wordpress 字母
  • 网站开发公司成本是什么网络营销案例成功案例分析
  • 网站建设后台管理登陆代码陈村网站开发
  • 网站推广渠道特点制作相册app