spark 少量key倾斜的join优化

背景

在使用spark join时,我们经常遇到少量key拥有大量的数据而导致的数据倾斜的问题,这导致了task任务数据处理非常不均匀而影响最终时效

少量key数据倾斜的join优化

这里有一个前提,join的另一边的表没有数据倾斜问题,也就是rdd2没有数据倾斜,然后处理的主要思路还是把这些倾斜的key单独抽取出来形成一个单独的rdd1_0,join的另一边也是把这些倾斜的key单独的抽取出来形成一个单独的rdd2_0,对于剩下的非倾斜的rdd1_1和rdd2_1,直接join即可,然后我们再来看怎么处理倾斜的rdd1_0,我们这里可以对rdd1_0加上一个随机数(0~n),然后对另一边的rdd2_0扩容n倍,由于rdd2_0只包含倾斜的key的数据,所以扩容n倍的内存消耗可以接受。

详细流程图如下所示:

参考文献: https://zhuanlan.zhihu.com/p/22024169

相关推荐
Valora40 分钟前
简单学会redis
redis
2601_960356383 小时前
数学专业“考证”新思路:为学术与职业双重赋能
大数据
zhixingheyi_tian3 小时前
Mapreduce 之 nativetask
大数据·mapreduce
踏着七彩祥云的小丑3 小时前
忘记Redis是否安装过时查看
数据库·redis·缓存
远航计算机4 小时前
职业技能培训机构如何利用QClaw+Skills做豆包GEO:知识库搭建×内容创作×效果监测的完整实操手册
大数据·人工智能·自动化·aigc·火山引擎
用户3610588626125 小时前
Spark 核心之 Client 模式提交命令和特点分析
spark
IanSkunk5 小时前
视光中心承接近视防控需求,核心是先把服务流程做成标准化工程
大数据
SEO_juper5 小时前
用Google Search Console数据做内容审计:找出网站上哪些页面在“吃白饭“
大数据·人工智能·外贸独立站
☆凡尘清心☆6 小时前
CentOS Stream 9 Redis 7.2.7 源码编译一键安装脚本
linux·运维·redis·centos
独行侠影a7 小时前
Mojo:专为AI而生的“Python++”,能否真正挑战CUDA与C++的统治地位?
大数据·人工智能·深度学习