您的位置:首页 > 其它

hive数据倾斜问题

2017-12-13 14:43 162 查看
一、hive数据倾斜
1、MR由于某个key值分布过多,导致某个reduce运行速度严重影响了整个job的运行
2、思考问题原因
-》比如:分区阶段
-》解决的办法1:自定义分区规则,partitioner
-》解决的办法2:针对于key加入随机数
00 1
reduce1
01 2
reduce2
02 3
reduce3
03 3
reduce1
04 3
reduce2
3、hive join
-》 group by、distinct
-》map join  reduce join SMB join(sort merge bucket join)或者:桶join

A表:1000万数据 分3个桶
0000-0300
1桶
0301-0600
2桶
0601-1000
3桶

B表:1000万数据 分3个桶
0000-0300
1桶
0301-0600
2桶
0601-1000
3桶

注意:桶join,只有桶表才可以,在建表的时候先分桶

场景:适合数据抽样统计

类似分区的实现,分区与分区之间进行join

A表:1000万数据 分3个桶
0000-0300
1桶 7
0301-0600
2桶
0601-1000
3桶

B表:1000万数据 分3个桶
0000-0300
1桶 7
0301-0600
2桶
0601-0900
3桶
0901-1000
4桶
0901-1000
5桶
0901-1000
6桶

两表之间的桶的个数一定要是相同的,或者B表是A表的桶的个数的倍数

相关链接:https://www.cnblogs.com/ggjucheng/archive/2013/01/03/2842860.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: