我正在尝试将数据从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参数仍然得到同样的错误。
这可能是什么问题?
答案 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是强制性的