0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

OCI Data Integration 増分ロードの実行(Object Storage編)

Posted at

はじめに

OCI Data Integrationのデータ・フローおよびデータ・ローダータスクでファイルやデータを増分ロードする機能があります。機能が利用できるデータ・ソースはリレーショナル・データベース、オブジェクト・ストレージ、Oracle BI Publisherを使用したOracle Fusion Applications(BIP)となります。
オブジェクト・ストレージの場合について、データ・フローで動作を確認してみようと思います。

増分ロードの設定

データ・フローのターゲット演算子の詳細に増分ロードがありました。これをチェックします。

image.png

作成したデータ・フローの内容はCSVファイルのデータをAutonomous DatabaseのEMP_TABLEにロードするというものです。間の式演算子(Expression)は日付データの型変換をしているだけのものです。

image.png

タスクの実行

データ・フローを使用する統合タスクを作成し、アプリケーションに公開して実行します。
image.png

image.png

実行すると以下の画面が表示されました。DATETIMEとしてSYS.LAST_LOAD_DATEというパラメータが使用されるようです。そのまま実行してみます。
image.png

成功しました。
image.png

Autonomous Database側で確認すると、14行データがロードされています。
image.png

ファイルの更新後に再実行

EMP_JP.CSVの内容を更新してみます。坂本さんのSALを4000に変更しました。
image.png

Object Storageにアップロードし、再度タスクを実行します。
image.png

パラメータのSYS.LAST_LOAD_DATEは、最初のタスク実行時は[1970-01-01 00:00:00]でしたが、今回は最初にタスクを実行したときの時間になっています。
image.png

実行した結果は14行でファイルの内容がすべて入力されたことがわかります。
image.png

したがって、Autonomous Database側は行が28行になりました。
image.png

ファイルを更新しないで再実行

次はファイルを変更せずに実行してみました。結果はエラーになりました。

image.png

ログを参照すると、条件に合ったファイルが存在しないとなります。
image.png

つまり、実行時に最後にタスク実行された時間がシステム・パラメータSYS.LAST_LOAD_DATEのデフォルトの値として渡され、それ以降のタイムスタンプのファイルを対象にするといった動作のようです。このSYS.LAST_LOAD_DATEの値の変更は可能ですが、指定はUTCである必要があります。

image.png

なお、スキーマ・ドリフトの機能が無効になってしまいますが、条件に合ったファイルが存在しないというエラーを無視して実行させるオプションもあります。ソース演算子の拡張オプションのタブで、スキーマ・ドリフトを許可のチェックを外し、欠落しているファイルを空として扱いますにチェックしてください。
image.png

おわりに

OCI Data Integrationでオブジェクト・ストレージ上のファイルの増分ロードを試してみました。ファイルが更新されたときだけ処理させたいというようなときに利用できると思います。

参考資料

OCI Data Integrationドキュメント:ソース演算子

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?