sqoop把mysql库中所有表一次性导入hdfs
使用import-all-tables,它是强制性的,在该数据库中的每个表必须有一个主键字段。
如果有的表没有主键会报错,提示Please specify one with --split-by or perform a sequential import with ‘-m 1’
这是因为sqoop 默认四个任务,不指定–split-by,默认用主键。如果没有主键需要设置一个字段,全部表导入时,不能确定每张表中的字段可以使用-m 1来解决此问题。
sqoop import-all-tables --connect jdbc:mysql://node1:3306/test --username root --password root -m 1
使用哪个用户提交的命令,生成 的文件就在hdfs /user/用户名 目录下