Spark的宽窄依赖

news2024/11/20 20:19:39

依赖关系

在这里插入图片描述
RDD会不断进行转换处理,得到新的RDD

每个RDD之间就产生了依赖关系


窄依赖

一个Stage内部的计算都是窄依赖的过程,全部在内存中完成

定义:父RDD的一个分区的数据给子RDD的一个分区【不需要调用Shuffle的分区器】

特点

  • 一对一 或者 多对一
  • 不经过Shuffle,性能相对较快
  • 无法实现全局分区、排序和分组等

示例

在这里插入图片描述


宽依赖

Spark的job中按照宽依赖划分Stage

定义:父RDD的一个分区数据给子RDD的多个分区【需要调用Shuffle的分区器来实现】

特点

  • 一对多
  • 必须经过Shuffle,性能相对较慢
  • 可以实现全局分区、排序和分组

示例

在这里插入图片描述


【了解】为什么要设计宽窄依赖

提高数据容错的性能,避免分区数据丢失时,需要重新构建整个RDD

  • 场景:如果子RDD的某个分区的数据丢失
    • 无标记:不清楚父RDD与子RDD数据之间的关系,必须重新构建整个父RDD所有数据
    • 有标记:父RDD一个分区只对应子RDD的一个分区,按照对应关系恢复父RDD的对应分区即可

提高数据转换的性能,将连续窄依赖操作使用同一个Task都放在内存中直接转换

  • 场景:如果RDD需要多个map、flatMap、filter、reduceByKey、sortByKey等算子的转换操作
    • 无标记:每个转换不知道会不会经过Shuffle,都使用不同的Task来完成,每个Task的结果要保存到磁盘
    • 有标记:多个连续窄依赖算子放在一个Stage中,共用一套Task在内存中完成所有转换,性能更快

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/106343.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

浅谈ReentrantLock的公平锁和非公平锁的区别

前言 最近在看java并发编程这本书,已经看了点ReentrantLock的源码,以及之前有面试官问,公平锁和非公平锁有啥区别,我就只是从源码层面说了一下区别,但在性能上也有区别,今天就来说道说道。 公平与非公平 …

Exponentiation

Exponentiation is a mathematical operation, written as bn, involving two numbers, the base b and the exponent or power n, and pronounced as “b (raised) to the (power of) n”.[1] When n is a positive integer, exponentiation corresponds to repeated multipli…

Mac卸载mysql并重新安装mysql

一、Mac卸载mysql 1、在系统偏好设置找到MySQL服务—>停止 2、打开终端 sudo rm /usr/local/mysql sudo rm -rf /usr/local/var/mysql sudo rm -rf /usr/local/mysql* sudo rm -rf /Library/StartupItems/MySQLCOM sudo rm -rf /Library/PreferencePanes/My* vim /etc/ho…

财务分析和经营分析有什么区别和联系

财务分析是基础,经营分析是建立在财务分析基础之上的专项分析。财务分析做诊断,经营分析要治病。财务分析旨在通过财务指标发现和洞察问题,经营分析针对财务分析发现的问题进行深入的重点分析,以解决最终问题为目标。 财务分析 -…

世界上最伟大最邪恶的软件发明

有这么一个伟大而“邪恶”的软件发明,它被安装在超过10亿台电脑中,每天被使用超过3000万次。世界上几乎每个组织都在使用它,不仅有大大小小的公司,还有企业家、艺术家、非营利组织、学校、政府和宗教领袖,它已经成了公…

Allegro如何翻转PCB视图操作指导

Allegro如何翻转PCB视图操作指导 Allegro可以翻转PCB的视图,利于查看和检查,如下图 翻转前:器件和走线在bottom层 翻转后:走线和器件仍然在bottom层,但是视图翻转了 具体操作如下

高等数学(第七版)同济大学 习题11-2 个人解答

高等数学(第七版)同济大学 习题11-2 函数作图软件:Mathematica 1.设L为xOy面内直线xa上的一段,证明:∫LP(x,y)dx0.\begin{aligned}&1. \ 设L为xOy面内直线xa上的一段,证明:\int_{L}P(x, \ …

【运维有小邓】Active Directory的NTFS权限报表程序

使用此简化的NTFS权限工具分析和优化共享权限和访问控制列表(ACL)。 ADManager Plus是我们的Active Directory管理和报表解决方案,可以兼用作共享文件夹权限报表工具。它提供预定义的报表,以查看,分析和修改NTFS并共享…

CSS -- 07. CSS3新特性汇总(属性选择器,结构伪类,伪元素,过渡效果,动画,2D3D转换效果)

文章目录CSS 3的新特性1 CSS 3的现状2 属性选择器3 结构伪类选择器3.1 选择第n个孩子3.2 nth-child(n)3.3 nth-of-type()3.4 nth-child和nth-of-type的区别3.5 结构伪类选择器小结4 伪元素选择器4.1 案例:经过盒子显示遮罩层4.2 伪元素清除浮动5 CSS 3盒子模型6 CSS…

比较叶绿体基因组提供海草适应性进化新见解

一、摘要 海草是生活在热带和亚热带地区的海洋开花植物,所有海草物种都是从陆地单子叶植物进化而来的,是研究植物对海洋环境适应的重要材料。本研究对三个鳗草属海草的叶绿体基因组(cpGenomes)进行测序,分析、比较三者…

Python图形用户界面(GUI)编程之wxPython入门

图形用户界面主要是方便用户操作,Python开源的GUI类库还是蛮多的,这里介绍一款在Python语言中的一套优秀的GUI图形库,而且是跨平台的,现今支持的平台有:32/64位微软Windows操作系统、大多数Unix或类Unix系统、苹果Mac …

如何解密PDF文件?这些解密方法快来收藏

有时候我们为了确保PDF文档不被他人随意查看,会对文档进行加密操作。但如果需要给某位同事查看的话,就需要每次输入密码才能查看文档,那你们知道PDF文档解密怎么弄吗?今天给大家分享几种实用的PDF解密技巧,有需要的小伙…

同为(TOWE)远程智能防雷预警监测——交直流遥信防雷配电柜

当前,社会各领域中各类先进的电子仪器广泛分布于每一个角落,由于高精尖电子设备的高度集成化,其耐压水平普遍较低,导致雷电流、浪涌侵入设备的风险越来越高,故需要在重要设备前端加装浪涌保护器(SPD&#x…

vue3项目打包部署到Tomcat(亲测有效)

首先,要确保电脑上已经安装了jdk,还有Tomcat,而且都安装正确。 jdk下载与安装教程(win10) Tomcat 9.0 安装及配置教程(win10系统) Vue项目在VScode里面可以通过npm run serve可以正常运行。 下面是打包部署到tomca…

单体优先的微服务架构

作者:Martin Fowler 译者:林宁 当听说有团队在使用微服务架构时候,我注意到了一些规律: 几乎所有成功应用微服务的系统,都来自于一个过大单体项目拆分而来。几乎所有我听到过一开始就选择使用微服务架构的系统&#x…

【软件测试】测试开发?开发一个自动化测试系统如何做?

目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 当我们开始分析一个…

ADI Blackfin DSP处理器-BF533的开发详解67:PCM的播放(含源码)

硬件准备 ADSP-EDU-BF533:BF533开发板 AD-HP530ICE:ADI DSP仿真器 软件准备 Visual DSP软件 硬件链接 代码实现功能 代码实现了打开代码工程目录下的“test.snd”文件,并读取 6MB 的数据到内存中,然后将内存中的数据进行循环…

C语言重点解剖第17课笔记

1.预处理阶段,先去注释,再宏替换。所以宏替换不能用于去注释。 #define bsc //就变成了一个空的宏。(//在这里面本来就是注释,只是注释后面的内容为空) 2.宏定义并不是简单的无脑替换。 printf(" ")中,双引号里面的东…

uniCloud云开发----3、uniApp中文件上传(通过插件(uniFilePicker)或者 uniCloud.uploadFile实现方案)

uniApp中文件上传前言效果图1、使用unifilePicker插件(1)安装unifilePicker插件(2)简单案例2、通过原生的 uniCloud.uploadFile来实现共同成长共同进步前言 uniapp图片上传插件unifilePicker 在开发uniapp的时候上传文件是必不可…

从月入5千到现在的月入1W+,会计转程序员,“谁说女的不适合学编程?”

前言 我毕业五年了,但与技术和 Python 相关的工作经验也就两年。今天我想跟大家分享自己转行的故事,希望能够鼓励那些跟我一样的朋友共同前行。 我们将会聊到我个人的经历和入行故事,讨论快速学习的方法,最后推荐一些学习资源。…