大数据优化之数据倾斜

Posted 俊学之道

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据优化之数据倾斜相关的知识,希望对你有一定的参考价值。

数据倾斜

数据倾斜概念

在做计算的时候,数据的分散度不够(数据的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创建

以上是关于大数据优化之数据倾斜的主要内容,如果未能解决你的问题,请参考以下文章

hadoop大数据优化之数据倾斜

大数据SQL优化之数据倾斜解决案例全集

大数据SQL优化之数据倾斜解决案例全集

大数据SQL优化之数据倾斜解决案例全集

大数据优化方案----Spark数据倾斜

Hive数仓-数据倾斜优化