hive解决数据倾斜应知应会(2020-03-10)

解决数据倾斜问题

join

小表join大表使用mapjoin

大表join大表使用skewinjoin

null值多的情况使用将key拼接随机数打散

类型不一致jion转化为一致数据类型进行join

如果小表join大表,超过了小表定义的默认配置,但不是特别大的情况,也可以通过mapjoin的注解,强制使用mapjoin达到优化的

group by

group by 倾斜使用skewgroup

如果group by的字段粒度太大可以先,内层嵌套更细粒度的group by

也可以拼接随机数来进行多次group by解决

还可以开启map端聚合,也就mapreduce中的combiner操作,来解决数据倾斜

你可能感兴趣的:(hive解决数据倾斜应知应会(2020-03-10))