Sqoop import-all-tables命令的问题

时间:2016-08-18 17:54:54

标签: sql-server hadoop sqoop cloudera-cdh

我正在尝试使用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命令吗?为什么数据库中的所有表都不是首先导入的?有没有办法克服这些错误并以更简单的方式导入所有表格?

任何帮助将不胜感激。谢谢。

2 个答案:

答案 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