はじめに
前回の Data Integration チュートリアル では、Object Storage に格納されているファイルを読み取り、加工して、ADW に格納をしました。このデータ加工フローでは、Input に使う Object Storage のファイル名や、出力先の ADW は固定されています。特に、Input に使う Object Storage のファイルは、データ加工の度に好きなファイルを指定したくなります。こういうときに使えるのが、Parameter の指定です。入力ファイル名や出力ファイル名をパラメータ化して、好きな名前を指定できます。
それでは Parameter の指定方法を紹介します。
事前準備 : テストデータと、Data Flow の作成
Object Storage の input
と output
バケットに、csv テストデータを格納します。
paramtest01.csv
name,id,userrank
sugiyama,1,bronze
tanaka,2,gold
suzukii,3,silver
paramtest02.csv
name,id,userrank
satou,4,bronze
kimura,5,gold
takahashi,6,silver
次に、Data Integration でデータ加工を行う Data Flow を準備します。Object Storage の input Bucket から、csv ファイルを受け取り、データ加工を行い、output Bucket に出力する内容です。
Input の指定
Data Tab で、リアルタイムにデータを確認できます。
Filter の指定
userrank の値が、silver のデータのみフィルターを行います。
FILTER_1.SOURCE_1.userrank='silver'
Data タブでリアルタイムにデータを確認できます
silver のみフィルターされています。
CREATE NEW ENTITY を入れて、Select を押します
こんな感じで、出力先の Object Storage を指定します。NEW DIRECTORY NAME は、出力するディレクトリの名前です。後からパラメータ化しますが、動作確認のために指定した名前は憶えておきましょう。
この段階で、作成した Data Flow を実行してみると、次のように Bucket にデータ加工されます。
ディレクトリ名は、指定した parametertest01
が作成されています。その下に格納されている part-00000-37a3bc9a-31dc-491e-a521-4ae4c44b1b63-c000.csv
の中身は、Filter で設定したように、silver でフィルターされています。
name,id,userrank
suzukii,3,silver
Parameter 化
それでは、ここからが本題です。Data Flow の編集画面へ移動し、input の入力ファイル名と、output の出力ディレクトリ名をパラメータ化しましょう。
input の入力ファイル名で、Assign Parameter を押します。
Add New Parameter
Identifier は、後程パラメータとして表示される名前です。分かりやすい名前を入れておきましょう。今回は、INPUT_OBJECT_NAME
とします。その他設定はデフォルトのままにしておきます。
Assign
表示が変わる。
Output のディレクトリ名もパラメータ化をします。
分かりやすい名前を入れましょう。今回は、OUTPUT_DIRECTORY_NAME
とします。
Assign
Save and Close で閉じます。
Parameter 動作確認
作成した Data Flow を使って、Create Integration Task を押します。
適当に名前を入れて作成します。Parameter をアサインしているので、ここの画面でパラメーターを変更できるように変わります。が、今回はここでは指定しません。実際にデータ加工タスクを実行する場面で、パラメータを指定してみましょう。
Publish
Application を指定して Publish
データ加工タスクを実行する画面を開きます。
Data Flow には、INPUT_OBJECT_NAME
と OUTPUT_DIRECTORY_NAME
の2つをパラメータ化しました。なので、タスクを実行する画面でも、パラメータを指定出来るようになっています。
INPUT_OBJECT_NAME
を変更してみましょう。
変更して Select
OUTPUT_DIRECTORY_NAME
も Edit してみます。
名前を入れて、Select をします。
Run で実際のタスクを実行します。
Task Runs の画面に切り替わります。画面を更新するには、右側にある、Refresh
を押します。一定時間後、Task が正常終了していることがわかります。
output を見ると、パラメータ化で指定した名前で出力されていることがわかります。
実際の csv ファイルを見てみると、Input パラメータで指定したファイルが使われていることが分かります。
name,id,userrank
takahashi,6,silver
参考URL
Integration Tasks の紹介
https://blogs.oracle.com/dataintegration/integration-tasks-in-oracle-cloud-infrastructure-oci-data-integration
PM Blogs
https://blogs.oracle.com/dataintegration/oracle-cloud-infrastructure-data-integration