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

相关推荐
遥感知识服务5 分钟前
从局部阈值、双极化到暗地表剔除:NASA OPERA DSWx-S1全球动态水体算法拆解
大数据·人工智能·深度学习·神经网络·算法·机器学习
小K讲AI营销14 分钟前
AI算力中心要花多少钱?拆解显卡、电费和选址
大数据
2602_959960921 小时前
谢飞机面试大厂:Spring Boot、JVM、Redis、Kafka、微服务与音视频搜索场景求生实录
java·jvm·spring boot·redis·面试题
固定资产管理系统软件1 小时前
商务局RFID固定资产管理系统的应用价值与落地要点解析
大数据·python
智购科技无人售货机厂家2 小时前
2026自动售货机实时库存管理系统:从Redis缓存到持久化的数据架构演进~YH
redis·缓存·架构
nvd112 小时前
LiteLLM 如何使用 Redis:从部署位置到精确响应缓存
redis·缓存·gateway
FoldWinCard3 小时前
K8s集群部署的方法原理
大数据·容器·kubernetes
招财小梗4 小时前
AI矩阵获客,品牌连锁落地方案揭秘
大数据·人工智能·矩阵
码哥字节4 小时前
我把Redis双活塞进Spring,业务代码零改动
redis·spring boot ai 编程·factorybean