2016-06-01 8 views
0

日付列に基づく増分インポートの場合、前回の日付をハードコードしないで更新された新しいレコードを抽出するにはどうすればいいですか? たとえば、 名前年齢更新日 ABC DEF 22 2016年4月3日2016年1月1日32 GHI 77 2016年2月2日SQOOP INCR load

Iが前負荷SQOOPを使用して日付2016年1月1日を持つ最初のレコードをロードし、と仮定今は必要にSQOOPステートメントに日付値(2016-01-01)をハードコーディングしないで次の2レコードを読み込みます。

答えて

0

少し遅れたかもしれませんが、最後のインポート値を毎回導入する必要がないように、組み込みのSqoopメタストアを使用して、Sqoop jobを作成してください。

たとえば、テーブルupdatesの列dtを使用して新しいレコードをチェックするジョブを作成するために、このようなものを使用できます。一度作成さ

sqoop job 
    --create update_job 
    --import 
    --connect jdbc:mysql://whatever/database 
    --username foo 
    --password bar 
    --table updates 
    --incremental lastmodified 
    --check-column dt 

、あなたは仕事とそれを実行するたびに実行することができ、それは以前の輸入から記録された最後のdtから始まるレコードをインポートします:あなたは、より詳細を確認することができ

sqoop job --exec update_job 

Here例。

+0

ありがとうJaime.Thisが役立ちます。 – user6392682

+0

私はそれが助けてくれてうれしいです:-)あなたが必要とするものに役立ち、調整されていれば、答えを受け入れることを検討してください。 –