Hive数据倾斜与数据膨胀小记

2018-09-08  本文已影响0人  吴建波_5368

写在前面

难得周末,整理了一下一周的工作,发现最近被数据倾斜问题折腾的不轻,还是静下心来总结一下,所谓雁过留痕。其实这个问题之前也碰到过,只是当时处理的数据量不大,换种方式就可以绕开这个问题,而现在TB级的数据,再也绕不开躲不过了,痛定思痛。

数据倾斜

将碰到的场景总结为以下三类

group by 单key的数据量过大

这种情况看具体场景,可细分为如下问题

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

具体原理就不再赘述了,mapreduce的几个过程,相当于Combiner阶段,map端部分聚合

表连接时小表连接大表

这种场景经常发生在维表的连接,小表(10000条一下的纪录条数),直接塞内存吧,map join大法可解。某些特殊场景,例如排查问题时,拿到几个ID要去海量的数据里捞行为日志,也可用map jion大法解。

表连接字段null值/边界值处理

这种情况需要case by case了,总结了几点:

数据膨胀

好吧,记个流水账,到写的时候才发现根本就没文笔,阅读量亟待增加。

上一篇 下一篇

猜你喜欢

热点阅读