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

相关推荐
Hy行者勇哥2 小时前
公司全场景运营中 PPT 的类型、功能与作用详解
大数据·人工智能
liliangcsdn3 小时前
如何基于ElasticsearchRetriever构建RAG系统
大数据·elasticsearch·langchain
乐迪信息3 小时前
乐迪信息:基于AI算法的煤矿作业人员安全规范智能监测与预警系统
大数据·人工智能·算法·安全·视觉检测·推荐算法
极验3 小时前
iPhone17实体卡槽消失?eSIM 普及下的安全挑战与应对
大数据·运维·安全
泽02023 小时前
Linux之环境变量
java·linux·redis
B站_计算机毕业设计之家3 小时前
推荐系统实战:python新能源汽车智能推荐(两种协同过滤+Django 全栈项目 源码)计算机专业✅
大数据·python·django·汽车·推荐系统·新能源·新能源汽车
济南java开发,求内推4 小时前
Redis一个服务器部署多个节点
服务器·数据库·redis
Full Stack Developme4 小时前
Python Redis 教程
开发语言·redis·python
The Sheep 20234 小时前
WPF自定义路由事件
大数据·hadoop·wpf
SelectDB技术团队4 小时前
Apache Doris 内部数据裁剪与过滤机制的实现原理 | Deep Dive
大数据·数据库·apache·数据库系统·数据裁剪