1

mssql サーバーからハイブにデータをエクスポートしようとしています。次のコマンドを使用して、Users テーブルからハイブにデータをエクスポートしています。

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 パラメータも試してみましたが、それでも同じエラーが発生します。

ここで何が問題になる可能性がありますか?

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 に答える