我正在尝试使用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目录中找到它们,或者当我列出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"
它给我一个错误说
无法识别的参数--target-dir
不是--target-dir参数可以使用import-all-tables命令吗?为什么数据库中的所有表都不是首先导入的?有没有办法克服这些错误并以更简单的方式导入所有表格?
任何帮助将不胜感激。谢谢。
答案 0 :(得分:1)
import-all-tables expect参数与--warehouse-dir,提供warehouse-dir和hdfs路径,它会工作
答案 1 :(得分:0)
请尝试这样:sqoop import-all-tables --connect" jdbc:sqlserver://X.X.X.X:1433; database = FEPDB" --username XXXXX --password XXXXX --warehouse-dir