sqoop是apache开源项目,主要用于关系型数据库数据和hdfs数据的相互同步.
主要记录下-m和--split-by参数的使用:
1. 这俩参数一般是放在一起使用
2.-m:表明需要使用几个map任务并发执行
3.--split-by :拆分数据的字段. -m设置为4,数据有100条,sqoop首先会获取拆分字段的最大值,最小值,步长为100/4=25;
那么第一个map执行拆分字段值为(1,25)之间的数据
第二个map执行拆分字段值为(26,50)之间的数据
第三个map执行拆分字段值为(51,75)之间的数据
第四个map执行拆分字段值为(76,100)之间的数据
注意事项:
1.拆分字段默认为主键
2.拆分字段的数据类型最好为int,如果不是则将-m设置为1,split-by不设置
3.拆分字段的值最好分布均匀,否则会造成数据倾斜的问题