大数据学习(30)-Spark Shuffle

&&大数据学习&&

🔥系列专栏: 👑哲学语录: 承认自己的无知,乃是开启智慧的大门
💖如果觉得博主的文章还不错的话,请点赞👍+收藏⭐️+留言📝支持一下博主哦🤞


Spark Shuffle

Map 和 Reduce
在Shuffle过程中. 提供数据的称之为Map端(Shuffle Write) 接收数据的 称之为 Reduce端(Shuffle Read)
在Spark的两个阶段中, 总是前一个阶段产生 一批Map提供数据, 下一阶段产生一批Reduce接收数据。
1248719256074146a794a8fb373afe78.png
Spark 提供2种Shuffle管理器:
• HashShuffleManager
• SortShuffleManager
524b57ea17f14634b70cc38f057f5797.png
优化后
基本和未优化的一致,不同点在于
1. 在一个Executor内, 不同Task是共享Buffer缓冲区
2. 这样减少了缓冲区乃至写入磁盘文件的数量, 提高性能

SortShuffleManager

SortShuffleManager的运行机制主要分成两种,一种是普通运行机制,另一种是bypass运行机制。
bypass运行机制的触发条件如下:
1)shuffle map task 数量小于
spark.shuffle.sort.bypassMergeThre
shold=200 参数的值。
2) 不是聚合类的 shuffle 算子 ( 比如
reduceByKey)
同普通机制基本类同 , 区别在于 , 写入磁盘临时文件的时候不会在内 存中进行排序 而是直接写 , 最终合并为一个 task 一个最终文件
所以和普通模式 IDE 区别在于 :
第一,磁盘写机制不同;
第二,不会进行排序。也就是说,启用该机制的最大好处在于, shuffle write 过程中,不需要进行数据的排序操作,也就节省掉了 这部分的性能开销。
26da361319174e99bfef24501ebf55fd.png
1. SortShuffle对比HashShuffle可以减少很多的磁盘 文件,以节省网络IO的开销
2. SortShuffle主要是对磁盘文件进行合并来进行文件 数量的减少, 同时两类Shuffle都需要经过内存缓冲区 溢写磁盘的场景。所以可以得知, 尽管Spark是内存迭 代计算框架, 但是内存迭代主要在窄依赖中. 在宽依赖(Shuffle)中磁盘交互还是一个无可避免的情况. 所 以, 我们要尽量减少Shuffle的出现, 不要进行无意义的Shuffle计算。

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

re:Invent 2023技术上新|Amazon DynamoDB与OpenSearch Service的Zero-ETL集成

Amazon DynamoDB 与 Amazon OpenSearch Service 的 Zero-ETL 集成已正式上线,该服务允许您通过自动复制和转换您的 DynamoDB 数据来搜索数据,而无需自定义代码或基础设施。这种 Zero-ETL 集成减少了运营负担和成本,使您能够专注于应用程序。这…

用通俗易懂的方式讲解大模型:基于 Langchain 和 ChatChat 部署本地知识库问答系统

之前写了一篇文章介绍基于 LangChain 和 ChatGLM 打造自有知识库问答系统,最近该项目更新了0.2新版本,这个版本与之前的版本差别很大,底层的架构发生了很大的变化。 该项目最早是基于 ChatGLM 这个 LLM(大语言模型)来…

【SAP-FICO】--总账标识配置路径OBXR

FICO业务需求: F-02,财务会计凭证填写09客户A时,带出的总账标识为可编辑。 需求截图: 第一步:了解需求 首先,我们要明白,财务凭证生成,是分多种类型(不同类型的凭证&a…

HarmonyOS自学-Day4(TodoList案例)

目录 文章声明⭐⭐⭐让我们开始今天的学习吧!TodoList小案例 文章声明⭐⭐⭐ 该文章为我(有编程语言基础,非编程小白)的 HarmonyOS自学笔记,此类文章笔记我会默认大家都学过前端相关的知识知识来源为 HarmonyOS官方文…

ES6+ 面试常问题

一、let const var 的区别 1. var: 没有块级作用域的概念,有函数作用域和全局作用域的概念全局作用域性下创建变量会被挂在到 windows 上存在变量提升同一作用域下,可以重复赋值创建未初始化,值为 undefined 2. let&#xff1a…

相机删除视频恢复后损坏打不开修复方法

同事对热恋5年的女朋友精心准备了一场浪漫求婚仪式,让朋友帮忙用单反相机拍摄记录这一美好时刻。不巧的的是朋友清理相机空间时,不小心把这一视频删除了,找人帮忙把视频恢复了,却无奈发现恢复出来的视频播放不了,真是好…

【第4期】Springboot集成阿里云对象存储OSS+Vue+Iview文件上传组件

本期简介 文件上传是非常常见的功能,本期要实现的功能是将文件存储到阿里云分布式对象存储OSS中,这样做的好处是随便哪里都可以方便的展示出该图片,并且图片以链接形式在客户端浏览器渲染,流量不会经过后台,降低后台压…

【23.12.29期--Spring篇】Spring的 IOC 介绍

介绍一下Spring的IOC ✔️引言✔️ lOC的优点✔️Spring的IOC✔️ 拓展知识仓✔️IOC是如何实现的? ✔️引言 所谓的IOC (inversion of control) ,就是控制反转的意思。何为控制反转? 在传统的程序设计中,应用程序代码通常控制着对象的创建和…

Pycharm 切换interpreter---python的环境和第三方库问题

这篇回答两个问题: 1.为什么在 pycharm中打开新的project,切换interpreter 之后发现自己之前装的库消失了? 2.为什么 interpreter 切换到python3.8了, terminal 还是在 3.9?? 问题的关键:搞懂什…

STM32CubeMX学习(二) USB CDC 双向通信

STM32CubeMX学习(二) USB CDC 双向通信 简介CubeMX新建工程(串口LED)测试串口和LED串口接收测试USB CDC通信 简介 利用正点原子F407探索者开发板,测试基于USB CDC的双向数据通信。 CubeMX新建工程(串口LE…

工业企业出口技术复杂度测算(2000-2014年)

工业企业出口技术复杂度的测算是对工业企业出口产品的技术含量和复杂度进行评估的过程。这种测算通常涉及分析出口产品的研发强度、生产过程的复杂性、所需的技术知识水平以及产品在全球市场上的竞争力。技术复杂度高的产品可能包括高端制造业产品,如先进电子设备、…

如何使用idea部署springboot项目全过程

博主介绍: ✌至今服务客户已经1000、专注于Java技术领域、项目定制、技术答疑、开发工具、毕业项目实战 ✌ 🍅 文末获取源码联系 🍅 👇🏻 精彩专栏 推荐订阅 👇🏻 不然下次找不到 Java项目精品实…

单机+内部备份_全备案例

此场景为单机数据库节点内部备份,方便部署和操作,但备份REPO与数据库实例处于同一个物理主机,冗余度较低。 前期准备 配置ksql免密登录(必须) 在Kingbase数据库运行维护中,经常用到ksql工具登录数据库,本地免密登录…

Unity | 快速修复Animation missing错误

目录 一、背景 二、效果 三、解决办法 一、背景 最近在做2D 骨骼动画相关的Demo,我自己使用Unity引擎进行骨骼绑定并创建了anim后,一切正常,anim也能播放。但是昨天我修改Obj及子物体的名称(由中文改为英文,如&…

数据分析师,就是做报表?错!!

企业作为数据载体,没有数据,大概率也不会再有企业存在 !! 数据分析师,正是这只小舟的船桨,掌舵所有人的命运。注意,是分析师,不是表哥,表姐... 那么作为数据分析师,应该有哪些硬技能…

Python入门学习篇(十二)——内置函数匿名函数

1 内置函数——数学函数 1.1 绝对值函数 1.1.1 语法 abs(参数) # 里面的参数既可以是整数,也可以是小数1.1.2 示例代码 m -1.99 n -9 print(f"{m}的绝对值为: {abs(m)}") print(f"{n}的绝对值为: {abs(n)}")1.1.3 运行截图 1.2 求商和余数 1.2.1 语…

[Angular] 笔记 16:模板驱动表单 - 选择框与选项

油管视频: Select & Option (Template Driven Forms) Select & Option 在 pokemon.ts 中新增 interface: export interface Pokemon {id: number;name: string;type: string;isCool: boolean;isStylish: boolean;acceptTerms: boolean; }// new interface…

算法基础之蒙德里安的梦想

蒙德里安的梦想 核心思想: 状态压缩dp 总方案 横放的方案 剩下的地方竖着放是固定的了 状态压缩 : 将每一列的图(横终点 横起点 竖) 用一个二进制数存下 向后凸的为1 反之为0 状态计算: 所有 i – 1 列 不冲突的 都加和 f[i , j] f[i - 1…

图像文件怎么才能转换为Excel

将图像文件转换为Excel需要通过OCR(Optical Character Recognition,光学字符识别)技术,先将图片中的文字识别出来,再将识别出的文字导入到Excel中。这可以使用一些在线或离线的OCR工具,例如ABBYY FineReade…

Linux 线程安全 (2)

文章目录 线程同步概念条件变量使用生产消费模型信号量的使用读写锁的使用 Linux 线程安全 (1) 线程同步概念 竞态条件:因为时序问题,而导致程序异常. 饥饿问题:只使用互相锁保证线程安全时,锁资源总被某…