造成数据倾斜的原因主要有2种:在map端读取不可分割的大文件、处理大量相同的key
解决办法一般有以下几种:
1、对于空值引发的数据倾斜
(1)在sql语句中单独处理空值的数据,最后union all
(2)将空值设置为随机数,这样就会均匀的分不到reduce中
2、在多表关联时,关联字段数据类型不同造成的数据倾斜---将数据类型转化为相同再进行关联
3、表连接引发的数据倾斜----map端完成join
参考资料 Hive千亿级数据倾斜解决方案(好文收藏)
造成数据倾斜的原因主要有2种:在map端读取不可分割的大文件、处理大量相同的key
解决办法一般有以下几种:
1、对于空值引发的数据倾斜
(1)在sql语句中单独处理空值的数据,最后union all
(2)将空值设置为随机数,这样就会均匀的分不到reduce中
2、在多表关联时,关联字段数据类型不同造成的数据倾斜---将数据类型转化为相同再进行关联
3、表连接引发的数据倾斜----map端完成join
参考资料 Hive千亿级数据倾斜解决方案(好文收藏)
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/7741.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!