0

ハイブ テーブルを mysql テーブルにコピーしようとしています。

ハイブテーブル

ID、名前、joined_at

1, john, 2013-04-04 10:10:10
2, jane, 2013-05-05 11:11:11

ここで、Id は Int、name は文字列、joined_at は文字列です。

このテーブルを mysql テーブルに schema id (int)name(nvarchar)およびでコピーしようとしていますjoined_at (datetime)

私のsqoopコマンドは次のとおりです

sqoop export --connect "jdbc:sqlserver://mysqlserver/databasename" --username myuser --password mypassword --table mysqltable --columns "id,name,joined_at" --export-dir /hive/warehouse/myhivetable --input-fields-terminated-by " "

ここで、時刻形式が である必要があるというエラーが表示されますyyyy-mm-dd hh:mm:ss[.ffffff]。私が間違っているのか理解できません。

4

1 に答える 1

0

問題はフィールドターミネータ/セパレータ文字にあると思います。以下の提案を試してみてください

ハイブテーブルの作成中に、フィールドを終了する文字を指定します。たとえば、ハイブ作成テーブルクエリで DELIMITED FIELDS TERMINATED BY '\t' ESCAPED BY '\\'

そして、sqoop export などで同じ文字を指定します。 --input-fields-terminated-by '\t' --lines-terminated-by '\n' --input-null-string "\\\\N" --input-null-non-string "\\\\N"

于 2014-03-10T02:38:54.200 に答える