Sqoop在导入数据的时候数据倾斜


Sqoop 抽数的并行化主要涉及到两个参数:num-mappers:启动N个map来并行导入数据,默认4个;

                    split-by:按照某一列来切分表的工作单元。

 

split切分算法默认是根据主键来的:比如map 个数为4,取 ( 主键最大值 -  主键最小值 )/ map 数量 ,这就分成了 4份,如果主键分布不均,那么就会出现数据倾斜。

解决方法

通过ROWNUM() 生成一个严格均匀分布的字段,然后指定为分割字段

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM