首页 > 技术文章 > Sqoop在导入数据的时候数据倾斜

yangxusun9 2020-07-07 22:14 原文

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

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

 

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

解决方法

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

 

推荐阅读