什么是数据倾斜

数据倾斜是指在并行计算中,某个节点负担远超其他节点的数据量,导致计算效率降低或内存溢出。主要出现在Hadoop的MapReduce框架中。解决方法包括:重新分区以均衡数据,增加随机ID重分区,使用“加盐”技术,以及对超级节点进行单独处理。了解和应对数据倾斜对于提升大数据处理效率至关重要。
摘要由CSDN通过智能技术生成

数据倾斜是指在并行计算模式下(hadoop 的map-reduce 框架下,数据被切分为N个片段,分发到不同的计算节点上,单独计算),单个计算节点获得的数据量远远大于其他节点,造成该节点计算压力过大,导致计算效率下降或计算内存溢出。这个现象就是数据倾斜。 同工不同酬。

解决这个问题的办法一般是:

1 .对数据集重新分区,增大分区数量,使得每个分区记录数尽量相等

2. 给数据增加随机id,按这个id重新分区;

3. 给数据 “加盐”一种生成均匀分布的id值的机制。重分区

4. 对造成数据集中的超级节点id,进行过滤,单独处理这样的节点。如,模电商的电话每天有数万订单,这个电话关联的业务数据就容易造成数据倾斜

推荐书籍: spark 快速大数据分析(第二版)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MetaTrade

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值