我正在尝试使用 Sqoop 将多个 SQL Server 数据库中的所有表导入 HDFS。我正在使用 Cloudera CDH 5.7。所以我输入以下命令:
sqoop import-all-tables --connect "jdbc:sqlserver://X.X.X.X:1433;database=FEPDB" --username XXXXX --password XXXXX --hive-import
它运行成功,但“FEPDB”数据库中的所有表都没有被导入。我没有在 HDFS 的配置单元目录中找到它们,也没有在列出 Hive 中存在的所有表时找到它们。
所以我尝试将所有表导入HDFS中的一个目录,然后创建hive表。我给出了以下命令:
sqoop import-all-tables --connect "jdbc:sqlserver://X.X.X.X:1433;database=FEPDB" --username XXXXX --password XXXXX --target-dir "/user/FEPDB"
它给我一个错误提示
unrecognized argument --target-dir
--target-dir 参数不能与 import-all-tables 命令一起使用吗?为什么一开始就没有导入数据库中的所有表?有没有办法克服这些错误并以更简单的方式导入所有表?
如有任何帮助,我们将不胜感激。谢谢。
最佳答案
import-all-tables 需要带 --warehouse-dir 的参数,提供 warehouse-dir 和 hdfs 路径,它将起作用
关于sql-server - Sqoop import-all-tables 命令的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39024648/