sqoop并行导入数据

使用sqoop工具进行数据导入导出中可以进行并行导入的方法

例如  从mysql数据库中导入到hive中可以执行

sqoop import --connect jdbc:mysql://localhost/gamewave --username root --password 123456 --table log --hive-import -m 1

其中-m 1 参数代表的含义是使用多少个并行,这个参数的值是1,说明没有开启并行功能。

将m参数的数值调为5或者更大,Sqoop就会开启5个进程,同时进行数据的导入操作。

注意:mysql数据库的表中需要有个主键,如果没有主键的话需要手动选取一个合适的拆分字段。

sqoop import --connect jdbc:mysql://localhost/gamewave --username root --password 123456 --table log --hive-import -m 5  --split-by uid  --where "rdate='2012-03-39'"

如果不能满足需求的话,则使用

sqoop import --connect jdbc:mysql://localhost/gamewave --username root --password 123456 --table log --hive-import -m 1  --where 'logtime<10:00:00'

sqoop import --connect jdbc:mysql://localhost/gamewave --username root --password 123456 --table log --hive-import -m 1  --where 'logtime>=10:00:00'

从而达到并行导入的目的

你可能感兴趣的:(sqoop并行导入数据)