2016-08-24 10 views
0

更新されたレコードをHDFSにインポートしようとしています。以前私はHDFSに3つの部分ファイルを持っていました。私が下のツールを実行すると、マージキーが必要であるというエラーが出ました。しかしsqoop増分はマージキーで最後に変更されました

sqoop import --table employee --username training --password training --connect jdbc:mysql://localhost/loudacre --incremental lastmodified --check-column modified --last-value '2016-08-22 19:02:41'

、私はその中のすべてのレコードを持つ部分のみのファイルを見ることができますマージキーオプションを使用していました。

答えて

0

これは私が推測することです。一般にマージツールは、--incremental lastmodifiedモードのインクリメンタルインポート後に実行されます。

データセットをマージするとき、各レコード(--merge-keyとして言及)で一意の主キー値が存在することが想定されます。

マージツールは、すべてのデータセットを1つにマージするmapreduceジョブを実行し、それぞれ--merge-keyの最新の利用可能な行を取得します。

詳細については、sqoop docsを確認してください。

+0

これを避ける方法はありますか?私は、データベースからmodifedフィールドを取得し、lastmodifiedを使用してHDFSを更新することを意味します。 –

+0

@Deepak_Spark_Beginner私はあなたの意見を得ていませんでした。 –

関連する問題