大数据优化之数据倾斜

数据倾斜

数据倾斜概念

在做计算的时候,数据的分散度不够(数据的Key分布不均),导致数据分布在一台或几台机器计算
症状:典型的现象就是数据reduce到99%很久不动了

数据倾斜原因

总原因:key分布不均
业务数据的特点(数据的幂律分布)
人为建表的疏忽
join、group by、count distinct等操作触发shuffle操作

一些数据倾斜解决方法

将数据均匀分配到各个reduce中是解决数据倾斜的根本所在

业务逻辑

根据业务特点,单独对特别的业务数据进行聚合

程序

count distinct操作,先转成group by,再count
left semi join使用

设置参数

hive.map.aggr = true
hive.groupby.skewindata=true

总结

如果玩大数据数据倾斜是绕不过去的一个东西,解决数据倾斜问题是大数据查询优化的一种方法
数据倾斜是key分布不均导致
把数据均匀分布到各个reduce是解决数据倾斜的根本所在
没有一劳永逸的方法,具体问题具体分析,并且需要不断调试

参考资料

漫谈千亿级数据优化实践:数据倾斜
hive大数据倾斜总结
006.hive语句优化
Hive优化总结

Changelog

181205创建

转载于:https://www.cnblogs.com/junstudys/p/10162709.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值