Spark 原理_运行过程_Job 和 Stage 的关系 | 学习笔记

简介: 快速学习 Spark 原理_运行过程_Job 和 Stage 的关系

开发者学堂课程【大数据 Spark 2020版(知识精讲与实战演练)第三阶段Spark 原理_运行过程_Job 和 Stage 的关系】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/689/detail/12026


Spark 原理_运行过程_Job 和 Stage 的关系


内容简介

一、Job 的切分

二、Stage 的执行顺序

 

接下来我们继续学习概念上的内容,上节已经学习了 job 是什么,有什么,在本节主要学习 job stage 的关系,一个 job 中可以有多个 stage

 

一、Job 的切分

Job 是一个最大的调度单位,也就是说 DAGscheduler 会首先创建一个 job 的相关信息,后去调度 job,但是没办法直接调度 job,比如说现在要做一盘手撕包菜,不可能直接去炒一整颗包材,要切好撕碎,再去炒。

1.为什么 job 需要切分?

image.png

Job 太大,要把 job 拆开,拆成多个 stage,一个 job 中可以有多个 stage

2.如何切分?

创建一个 stage,从后向前回溯 RDD,遇到 shuffle 依赖就结束 stage,后创建新的 stage 继续回溯。

 

二、执行顺序

有两个 stage,这两个 stage 的运行关系间是串行,stage1 计算完毕,才能计算 stage0,中间有 shuffle 操作,所以只有前面 stage 产生结果后,再去获取结果,所以后面阶段的 rdd,需要依赖前面阶段的计算 ,所以两个 stage 不可能同时执行,然而两者间要先执行 stage1,上节的4040网站的 stage 划分不同,是因为事先将第一个 stage 放到集群中执行的,再去调度第二个 stage,所以名字会出现混乱

在图中,stage0 的计算需要依赖 stage1 的数据,因为 reduceRDD 中一个分区可能需要多个 tupleRDD 的分区的数据,所以 tupleRDD 必须先计算完,所以,应该在逻辑图中自左向右执行 stage,不能同时执行

总结 Job stage 的关系:

1.一个 job 中可以有多个 stage

2.Stage 之间是串行的

3.左侧的接近起始的 stage 最先执行,从左到右执行

相关文章
|
6月前
|
移动开发 分布式计算 Spark
Spark的几种去重的原理分析
Spark的几种去重的原理分析
132 0
|
6月前
|
机器学习/深度学习 SQL 分布式计算
Spark核心原理与应用场景解析:面试经验与必备知识点解析
本文深入探讨Spark核心原理(RDD、DAG、内存计算、容错机制)和生态系统(Spark SQL、MLlib、Streaming),并分析其在大规模数据处理、机器学习及实时流处理中的应用。通过代码示例展示DataFrame操作,帮助读者准备面试,同时强调结合个人经验、行业趋势和技术发展以展现全面的技术实力。
567 0
|
6月前
|
存储 分布式计算 数据处理
bigdata-35-Spark工作原理
bigdata-35-Spark工作原理
43 0
|
1月前
|
分布式计算 大数据 Java
大数据-86 Spark 集群 WordCount 用 Scala & Java 调用Spark 编译并打包上传运行 梦开始的地方
大数据-86 Spark 集群 WordCount 用 Scala & Java 调用Spark 编译并打包上传运行 梦开始的地方
26 1
大数据-86 Spark 集群 WordCount 用 Scala & Java 调用Spark 编译并打包上传运行 梦开始的地方
|
1月前
|
分布式计算 Java 大数据
大数据-92 Spark 集群 SparkRDD 原理 Standalone详解 ShuffleV1V2详解 RDD编程优化
大数据-92 Spark 集群 SparkRDD 原理 Standalone详解 ShuffleV1V2详解 RDD编程优化
39 0
大数据-92 Spark 集群 SparkRDD 原理 Standalone详解 ShuffleV1V2详解 RDD编程优化
|
1月前
|
SQL 分布式计算 大数据
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(一)
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(一)
47 0
|
1月前
|
SQL 分布式计算 算法
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(二)
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(二)
81 0
|
4月前
|
SQL 弹性计算 资源调度
云服务器 ECS产品使用问题之bin/spark-sql --master yarn如何进行集群模式运行
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。
|
5月前
|
机器学习/深度学习 分布式计算 API
技术好文:Spark机器学习笔记一
技术好文:Spark机器学习笔记一
42 0
|
6月前
|
SQL 存储 分布式计算
spark执行sql的原理是什么
spark执行sql的原理是什么
126 1

热门文章

最新文章

下一篇
无影云桌面