sql-server - Sqoop import-all-tables 命令的问题

标签 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 中存在的所有表时找到它们。

所以我尝试将所有表导入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/

相关文章:

javascript - 循环通过 api 请求时插入失败仅执行第一个查询

hadoop - nutch 1.10 作业失败,错误请求错误索引到 solr 5.3.1

mysql - 配置单元使用查询插入结构数据类型

hadoop - Sqoop2-在导入时如何集成自定义的预处理/后处理代码(例如加密)

sql-server - 如何使用 TSQL 识别记录中的记录模式序列?

PHP - 将搜索结果中的数据传递到另一个表中

sql - 无法通过 IP 和命名实例远程连接到 SQL 2012

hadoop - 如何将 Hive 表转换为 MLlib LabeledPoint?

mysql - 如何将 RDBMS DDL 转换为 Hive DDL 脚本

mysql - Sqoop导入 “--where”标志