Sqoop 抽数的并行化主要涉及到两个参数:num-mappers:启动N个map来并行导入数据,默认4个;
split-by:按照某一列来切分表的工作单元。
split切分算法默认是根据主键来的:比如map 个数为4,取 ( 主键最大值 - 主键最小值 )/ map 数量 ,这就分成了 4份,如果主键分布不均,那么就会出现数据倾斜。
通过ROWNUM() 生成一个严格均匀分布的字段,然后指定为分割字段