Spark 原理_逻辑图_宽依赖_分析 | 学习笔记

简介: 快速学习 Spark 原理_逻辑图_宽依赖_分析

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

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


Spark 原理_逻辑图_宽依赖_分析


内容简介

一、Rdd 中的依赖关系

二、什么是宽依赖

三、如何判断宽依赖

 

一、Rdd 中的依赖关系有两种

1.窄依赖

2.宽依赖

 

二、什么是宽依赖,哪些算子会生成宽依赖

宽依赖就是 shuffle 中的依赖关系,换句话说,只有 shuffle 产生的地方才是宽依赖

 

三、如何判断宽依赖

1.判断宽窄依赖,是否含有 shuffle ,如果含有 shuffle,是不能把分区放到同一流水线上执行,有 shuffle 就是宽依赖

2.举个 reduceByKey 的例子,rddB = rddAreduceByKeycurragg)—curr+agg会产生如下依赖关系,reduceBykey 生成的关系就是宽依赖

image.png

假如 rddA p1 中的数据为(hadoop,1) ( spark,1),p2 中的数据为 (spark,1)(hadoop,1),p3 为(hadoop,1)(flume,1)

3.在运行中大致的步骤

1)分区函数,hadoop.toHashCode%2 = 1 or 2

决定 rddA 中三个分区的每条数据应该发个 rddB 的那个分区

(2)Hadoop.分区 =1 spark分区 =2

将数据往分区函数塞

4.shuffle 的判断

1)将 rddA 的p1 拆开,将 hadoop 分发给 rddB 中的 p1,将 spark 分发给 rddB 中的 p2,这个过程就是 shuffle

对于 rddA 中的一个分区来说,其将一部分分发给 rddB p1,另外一部分分发给 rddB p2,这不是数据流动,而是分发

(3)ReduceByKey 所生成的 shuffleRDD ,对应的是 shuffledependency(也叫宽依赖)

相关文章
|
移动开发 分布式计算 Spark
Spark的几种去重的原理分析
Spark的几种去重的原理分析
340 0
|
机器学习/深度学习 SQL 分布式计算
Spark核心原理与应用场景解析:面试经验与必备知识点解析
本文深入探讨Spark核心原理(RDD、DAG、内存计算、容错机制)和生态系统(Spark SQL、MLlib、Streaming),并分析其在大规模数据处理、机器学习及实时流处理中的应用。通过代码示例展示DataFrame操作,帮助读者准备面试,同时强调结合个人经验、行业趋势和技术发展以展现全面的技术实力。
1355 0
|
存储 分布式计算 数据处理
bigdata-35-Spark工作原理
bigdata-35-Spark工作原理
87 0
|
存储 分布式计算 负载均衡
【大数据技术Hadoop+Spark】MapReduce概要、思想、编程模型组件、工作原理详解(超详细)
【大数据技术Hadoop+Spark】MapReduce概要、思想、编程模型组件、工作原理详解(超详细)
707 0
|
存储 分布式计算 Hadoop
【大数据技术Hadoop+Spark】HDFS概念、架构、原理、优缺点讲解(超详细必看)
【大数据技术Hadoop+Spark】HDFS概念、架构、原理、优缺点讲解(超详细必看)
825 0
|
分布式计算 Java 大数据
大数据-92 Spark 集群 SparkRDD 原理 Standalone详解 ShuffleV1V2详解 RDD编程优化
大数据-92 Spark 集群 SparkRDD 原理 Standalone详解 ShuffleV1V2详解 RDD编程优化
145 0
大数据-92 Spark 集群 SparkRDD 原理 Standalone详解 ShuffleV1V2详解 RDD编程优化
|
SQL 分布式计算 大数据
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(一)
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(一)
264 0
|
SQL 分布式计算 算法
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(二)
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(二)
213 0
|
分布式计算 Java Spark
图解Spark Graphx实现顶点关联邻接顶点的collectNeighbors函数原理
图解Spark Graphx实现顶点关联邻接顶点的collectNeighbors函数原理
96 0
|
SQL 存储 分布式计算
spark执行sql的原理是什么
spark执行sql的原理是什么
312 1