Spark数据倾斜解决方案四:Mapper端Join

news/2024/11/7 19:29:15/

为什么要在Mapper端Join

解决数据倾斜有一个技巧:把Reducer端的操作变成Mapper端的Reduce,通过这种方式不需要发生Shuffle。如果把Reducer端的操作放在Mapper端,就避免了Shuffle。避免了Shuffle,在很大程度上就化解掉了数据倾斜的问题。Spark是RDD的链式操作,DAGScheduler根据RDD的不同类型的依赖关系划分成不同的Stage,所谓不同类型的依赖关系,就是宽依赖、窄依赖。当发生宽依赖的时候,把Stage划分成更小的Stage。划分的依据就是宽依赖。宽依赖的算子如reducByKey、groupByKey等。我们想做的是把宽依赖减掉,避免掉Shuffle,把操作直接发生在Mapper端。从Stage的角度讲,后面的Stage都是前面Stage的Reducer端,前面的Stage都是后面Stage的Mapper端。如果能去掉Reducer端的Shuffle操作,将其放在Mapper端,对我们解决数据倾斜很有价值。Spark 2.0版本中就有Mapper端聚合,只有Mapper端完成Shuffle的业务。

适用场景

在对RDD使用join类操作,或者是在Spark SQL中使用join语句时,而且join操作中的一个RDD或表的数据量比较小(比如几百M或者一两G)。

实现思路

不使用join算子进行连接操作,而使用Broadcast变量与map类算子实现join操作,进而完全规避掉shuffle类的操作,彻底避免数据倾斜的发生和出现。将较小RDD中的数据直接通过collect算子拉取到Driver端的内存中来,然后对其创建一个Broadcast变量;接着对另外一个RDD执行m


http://www.ppmy.cn/news/297179.html

相关文章

Dex文件分析,从magic到data的全字段,逐字节分析!小白也能懂

文章目录 1、class和dex文件的宏观区别2、dex文件和class字节码的基本区别3、dex文件实例分析3.1配置dx环境变量3.2Java源文件3.3 编译成class二进制码3.4 将二进制class文件优化成dex文件 4、分析dex文件4.1头文件 header4.1.1 解析头文件 4.2 索引区的分析4.2.1 索引区的分析…

六步快速搭建个人网站

目录 第一步、选择搭建平台WordPress 第二步、选域名 1)域名在哪买? 2)域名怎么选? 3)以阿里云为例,讲解怎么买域名 第三步、选择服务器 第四步、申请主机、安装WordPress 第五步、选择WordPress模…

C语言---自定义类型:结构体,枚举,联合

🚀write in front🚀 📝个人主页:认真写博客的夏目浅石. 🎁欢迎各位→点赞👍 收藏⭐️ 留言📝 📣系列专栏:凡人修C传 💬总结:希望你看完之后&…

分布式项目15 用户注册,单点登陆dubbo来实现

分析:当用户填写完成注册信息之后,将请求发送给前台服务器.之后前台消费者利用dubbo框架实现RPC调用。之后将用户信息传递给jt-sso服务提供者.之后完成数据的入库操作。 01.页面url分析 02.查看页面JS $.ajax({ type : "POST", url : "/user/doRe…

电脑重装系统后无法开机是什么原因导致的

电脑重装系统是一种常见的解决问题和提升性能的方法,但有时候重装系统后可能会遇到无法开机的问题。本文将介绍一些常见原因和解决方法,帮助您解决电脑重装系统后无法开机的困扰。 工具/原料: 系统版本:windows7系统 品牌型号&…

机器学习-12 卷积神经网络简介

卷积神经网络 引言深度学习发展历程深度应用领域深度学习vs传统机器学习深度神经网络vs浅层神经网络深度学习概述 卷积神经网络CNNBP神经网络CNN概述卷积神经网络大致结构卷积神经网络大致过程 局部连接权值共享非线性映射ReLU(Rectified Linear Units)池…

你的Postman为什么连不了数据库?

postman本身没有数据库连接功能,所以用到了node.js中的xmysql实现Rest API的生成,利用postman进行请求,获取需要的数据,来做数据准备或断言 1.安装 安装node.js:要求版本大于等于7.6 首先保证你的环境上有node.js&a…

DOTA数据集

https://captain-whu.github.io/DOTA/dataset.html https://github.com/search?qfaster_rcnn_for_DOTA 转载于:https://www.cnblogs.com/ivyharding/p/11155676.html