Sqoop在导入作业命令中不识别--query参数

时间:2014-04-03 02:23:47

标签: hadoop sqoop sqoop2

我正在尝试将数据从mssql server导出到hive。 我使用以下命令将数据从Users表导出到hive。

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"

我收到以下错误消息。

至少,您必须指定--connect和--table 可以提供mysqldump和其他子程序的参数 在命令行上输入' - '后。

如果我删除了--query param,它使用默认查询来导出数据,它可以正常工作。

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

这可能是什么问题?

1 个答案:

答案 0 :(得分:1)

每当您使用 - 查询属性时。您无法在sqoop命令中提及 - table 属性。因为您已在查询参数的 FROM 子句中提及它。

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

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是强制性的