sqoop ジョブを使用すると、HBase への増分ロードを実行できます。--lastval
しかし、シェル スクリプトを使用して同じことを行うにはどうすればよいでしょ--lastval
うか。また、スクリプトを自動化したときにどのように取得するのでしょうか。
の保管--lastval
方法と次回への受け渡し方法を意味します。
助けてくれてありがとう!!
--lastval を保存する方法と次回に渡す方法は?
--lastval
Linux または UNIX でエイリアスまたはエクスポート変数として定義します。自動化スクリプトから再試行できます
ロードが完了したら、最新の lastva lを取得して、最近の値に変更します
export lastupdatedvalue=hive -e 'select last_value from table
ロジックに基づく #selection クエリ。
sqoop import --connect jdbc:mysql://localhost:3306/ydb --table <your table> --username root -P --incremental append --last-value ${lastupdatedvalue}
:
Oozie でスクープ アクションを試すことができます。動作するはずです。それ以外の場合は、スクリプトを好む場合は、oozie でシェル アクションを使用します。利用可能なコーディネーター機能を使用してスケジュールすることが可能です。
こちらもご覧ください
--incremental
--check-column id
--last-value 100
コマンドラインから増分インポートを実行すると、Sqoop は後続の増分インポートで最後の値を出力します。保存されたジョブから増分インポートを実行すると、Sqoop は保存されたジョブの最後の値を保持します。以前にインポートした行よりも新しい行のみをインポートするには、 --exec オプションを使用します。Sqoop は、指定された行 ID より大きい ID を持つ行のみをインポートします。