Spark 原理_总体介绍_逻辑执行图 | 学习笔记

简介: 快速学习 Spark 原理_总体介绍_逻辑执行图

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

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


Spark 原理_总体介绍_逻辑执行图


逻辑执行图是 RDD 的一组组成,是 RDD 的转换,表示了数据的处理过程,将数据处理过程表示出来,可以将逻辑执行图转化为物理执行图,物理执行图在集群组成中运行。

逻辑执行图步骤:

1.RDD 如何生成

2.通过图了解 RDD 之间的关联

image.png

打开代码,可以看出使用 sc 创建 RDD,使用算子 flatmap 转成 splitRDD 的过程,textRDD 使用 flatmap 算子生成splitRDD 的关系,splitRDD 使用 map 算子生成 tupleRDD,而 tupleRDD 使用 reduceByKey 算子生成reduceRDDreduceRDD 使用 map 算子生成 strRDD,逻辑执行图如下:

image.png

逻辑执行图负责 textRDD 如何转化为 splitRDDsplitRDD 存放哪些数据;splitRDD 如何转化为 tupleRDDtupleRDD 中存放哪些数据,彼此之间存在依赖关系。tupleRDD -RDD tupleRDD,是如何创建出来的,都由逻辑执行图得出,逻辑执行图描述数据如何流动,如何计算。

接下来改变代码,注释掉获取结果栏,编写 strRDD.todebugstring,其打印结果即为逻辑执行图,运行代码结果如下:

image.png

Todebugstring 是将 strRDD 预运行,取出 strRDD 所有的依赖关系,可以看到s trRDD 的对应关系。

也依赖了一个-RDD,是一个 reduceRDD,与代码相呼应,可以看到整个逻辑执行图通过 Todebugstring 打印出来,自上而下,最上面是离结果最近的 RDD,由副类计算得到。

打开笔记,可以看到逻辑执行图如下:

image.png

最左侧是 parallelcollectionRDD,是由 textRDD 通过 parallelize 来得到,再次通过 flatmap 算子得到新的 RDD,经过 map 算子生成另一个 mappartitionsRDD,再次经过 map 算子生成另一个 mappartitionsRDD,通过 reducebykey 算子得到 shuffledRDD,再次经过 map 得到 mappartitionsRDD,在 mappartitionsRDD 分区1parallelcollectionRDD 的分区1紧密相联,通过父亲1计算生成。

逻辑生成图并不真实存在,代表 RDD一个依赖的链条,代表逻辑执行图,代表数据如何流转。

相关文章
|
移动开发 分布式计算 Spark
Spark的几种去重的原理分析
Spark的几种去重的原理分析
426 0
|
分布式计算 Java 大数据
大数据-92 Spark 集群 SparkRDD 原理 Standalone详解 ShuffleV1V2详解 RDD编程优化
大数据-92 Spark 集群 SparkRDD 原理 Standalone详解 ShuffleV1V2详解 RDD编程优化
187 0
大数据-92 Spark 集群 SparkRDD 原理 Standalone详解 ShuffleV1V2详解 RDD编程优化
|
SQL 分布式计算 大数据
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(一)
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(一)
302 0
|
SQL 分布式计算 算法
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(二)
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(二)
249 0
|
SQL 存储 分布式计算
spark执行sql的原理是什么
spark执行sql的原理是什么
365 1
|
机器学习/深度学习 分布式计算 API
技术好文:Spark机器学习笔记一
技术好文:Spark机器学习笔记一
160 0
|
6月前
|
人工智能 分布式计算 大数据
大数据≠大样本:基于Spark的特征降维实战(提升10倍训练效率)
本文探讨了大数据场景下降维的核心问题与解决方案,重点分析了“维度灾难”对模型性能的影响及特征冗余的陷阱。通过数学证明与实际案例,揭示高维空间中样本稀疏性问题,并提出基于Spark的分布式降维技术选型与优化策略。文章详细展示了PCA在亿级用户画像中的应用,包括数据准备、核心实现与效果评估,同时深入探讨了协方差矩阵计算与特征值分解的并行优化方法。此外,还介绍了动态维度调整、非线性特征处理及降维与其他AI技术的协同效应,为生产环境提供了最佳实践指南。最终总结出降维的本质与工程实践原则,展望未来发展方向。
364 0
|
分布式计算 大数据 Apache
ClickHouse与大数据生态集成:Spark & Flink 实战
【10月更文挑战第26天】在当今这个数据爆炸的时代,能够高效地处理和分析海量数据成为了企业和组织提升竞争力的关键。作为一款高性能的列式数据库系统,ClickHouse 在大数据分析领域展现出了卓越的能力。然而,为了充分利用ClickHouse的优势,将其与现有的大数据处理框架(如Apache Spark和Apache Flink)进行集成变得尤为重要。本文将从我个人的角度出发,探讨如何通过这些技术的结合,实现对大规模数据的实时处理和分析。
955 2
ClickHouse与大数据生态集成:Spark & Flink 实战
|
9月前
|
存储 分布式计算 Hadoop
从“笨重大象”到“敏捷火花”:Hadoop与Spark的大数据技术进化之路
从“笨重大象”到“敏捷火花”:Hadoop与Spark的大数据技术进化之路
471 79
|
存储 分布式计算 算法
大数据-106 Spark Graph X 计算学习 案例:1图的基本计算、2连通图算法、3寻找相同的用户
大数据-106 Spark Graph X 计算学习 案例:1图的基本计算、2连通图算法、3寻找相同的用户
259 0