1

我正在尝试将数据从 mssql 服务器导出到配置单元。我正在使用以下命令将数据从用户表导出到配置单元。

sqoop import --connect "jdbc:sqlserver://{ip}\LOCAL_INSTANCE;database=TEST_DB;user=sa;password=****" --table "Users_Table" --create-hive-table --hive-table users_export --target-dir /cdc/export/users --append --query "select * from Users_Table"

我收到以下错误消息。

至少,您必须为 mysqldump 指定 --connect 和 --table 参数,并且可以在命令行上的“--”之后提供其他子程序。

如果我删除 --query 参数,它会使用默认查询来导出数据并且它工作正常。

我也试过 -e 参数仍然得到同样的错误。

这里可能是什么问题?

4

1 回答 1

1

每当您使用--query属性时。您不能在 sqoop 命令中提及--table属性。因为您已经在查询参数的FROM子句中提到了它。

您可以使用以下命令来使用--query属性

sqoop import --connect jdbc:db2://<IP_ADDR:<PORT>/<DB> --username user_name -P -m 1 --query "Select * from TABLE_NAME WHERE \$CONDITIONS AND ID = '16279320'" --target-dir /user/user_name

其中 $CONDITIONS 是强制性的

于 2014-05-14T13:09:21.087 回答