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操作,来解决数据倾斜

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。