Spark 原理_逻辑图_总结 | 学习笔记

简介: 快速学习 Spark 原理_逻辑图_总结

开发者学堂课程【大数据 Spark 2020版(知识精讲与实战演练)第三阶段Spark 原理_逻辑图_总结】学习笔记,与课程紧密联系,让用户快速学习知识。

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


Spark 原理_逻辑图_总结


内容简介

一、逻辑执行图

二、RDD 如何生成

三、RDD 之间有哪些依赖关系

 

一、逻辑执行图

1.定义:是 RDD 及其 RDD 之间依赖关系的图,所表达的就是整个数据的计算以及步骤

2.边界:从第一个 RDD 产生到 action 算子之前都是逻辑执行图

逻辑执行图分为两个部分,第一部分是 rdd ,第二部分是 rdd 之间的依赖,接下来,我们会对两部分展开,进行详细的说明

3.分类

1)明确边界

2RDD 如何生成

3RDD 之间的依赖关系

 

二、RDD 如何生成

通过看源码

1.;RddA = rddB.map

RddA 是由 map 算子内部创建

2.  Map 算子会创建 mappartitionsRDD;textfile 算子创建 hadoopRDD

它们都是创建 rdd,拗对象的过程

HadoopRDD mappartitionsRDD 都是 RDD 父类的子类,重写 RDD 的五大属性实现特定的功能

这是 rdd 的生成,以及生成后不同 rdd 的子类,怎样去改变 rdd 功能的

//HadoopRDD,重写了分区列表和计算函数

//MappartitionsRDD,重写 compute 函数,处理整个 RDD 的数据

 

三、RDD 之间有哪些依赖关系

分为两种:窄依赖、宽依赖

1.窄依赖

最大的特点是:对应的 RDD 的分区可以放在同一流水线上执行

image.png

如果右边的 p1 要获取数据,可以直接通过左边 p1 得到,不需要计算完,直接获取,所以这种依赖我们称之为窄依赖,分区可以放到同一流水线上执行。

2.宽依赖

1)区别:与窄依赖不同的是,有 shuffle 过程,需要另一方执行完才可以获取数据,所以宽依赖的 RDD 分区是不能放在同一流水线上执行的

假如 rddA rddB 之间是宽依赖,那么它们对应的分区是不能放在一个 task 中执行的

2)宽依赖和窄依赖的判断依据就是是否有 shuffle

①如果分区间一对一,则是窄依赖

②如果分区间多对一,要看是否有数据分发

//多对一要看分区的多少,通常分区较少,可能就是窄依赖,分区较多,就有可能是宽依赖

//要去看算子的原理,是否进行数据分发,是否有 shuffle ,有 shuffle 就是宽依赖,没有就是窄依赖

这是我们学习的逻辑执行图三大部分内容:明确边界是什么、分别介绍 rdd 的生成以及 rdd 之间的依赖关系,折叠后可以更加清晰地看到

逻辑执行图到目前为止还没有探讨如何在集群中执行,所以接下来我们会通过物理执行图,了解逻辑执行的怎样运行在集群中。

相关文章
|
移动开发 分布式计算 Spark
Spark的几种去重的原理分析
Spark的几种去重的原理分析
604 0
|
机器学习/深度学习 SQL 分布式计算
Spark核心原理与应用场景解析:面试经验与必备知识点解析
本文深入探讨Spark核心原理(RDD、DAG、内存计算、容错机制)和生态系统(Spark SQL、MLlib、Streaming),并分析其在大规模数据处理、机器学习及实时流处理中的应用。通过代码示例展示DataFrame操作,帮助读者准备面试,同时强调结合个人经验、行业趋势和技术发展以展现全面的技术实力。
1639 0
|
分布式计算 Java 大数据
大数据-92 Spark 集群 SparkRDD 原理 Standalone详解 ShuffleV1V2详解 RDD编程优化
大数据-92 Spark 集群 SparkRDD 原理 Standalone详解 ShuffleV1V2详解 RDD编程优化
256 0
大数据-92 Spark 集群 SparkRDD 原理 Standalone详解 ShuffleV1V2详解 RDD编程优化
|
SQL 分布式计算 大数据
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(一)
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(一)
578 0
|
SQL 分布式计算 算法
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(二)
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(二)
303 0
|
SQL 存储 分布式计算
spark执行sql的原理是什么
spark执行sql的原理是什么
503 1
|
机器学习/深度学习 分布式计算 API
技术好文:Spark机器学习笔记一
技术好文:Spark机器学习笔记一
235 0
|
SQL 分布式计算 Java
五、【计算】Spark原理与实践(下) | 青训营笔记
五、【计算】Spark原理与实践(下) | 青训营笔记
五、【计算】Spark原理与实践(下) | 青训营笔记
|
SQL 分布式计算 NoSQL
Spark Connector Reader 原理与实践
本文主要讲述如何利用 Spark Connector 进行 Nebula Graph 数据的读取。
1018 0
|
SQL 分布式计算 Spark
钉钉群直播【Spark Relational Cache 原理和实践】
主要介绍Relational Cache/物化视图的历史和背景,以及EMR Spark基于Relational Cache加速Spark查询的技术方案,及如何通过基于Relational Cache的数据预计算和预组织,使用Spark支持亚秒级响应的交互式分析使用场景。