3
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 3 years have passed since last update.

[Oracle Cloud] Data Integration で Parameter を使い、入力と出力を柔軟に指定する

Last updated at Posted at 2020-09-19

はじめに

前回の Data Integration チュートリアル では、Object Storage に格納されているファイルを読み取り、加工して、ADW に格納をしました。このデータ加工フローでは、Input に使う Object Storage のファイル名や、出力先の ADW は固定されています。特に、Input に使う Object Storage のファイルは、データ加工の度に好きなファイルを指定したくなります。こういうときに使えるのが、Parameter の指定です。入力ファイル名や出力ファイル名をパラメータ化して、好きな名前を指定できます。

それでは Parameter の指定方法を紹介します。

事前準備 : テストデータと、Data Flow の作成

Object Storage の inputoutput バケットに、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 の指定

1600496046843.png

Data Tab で、リアルタイムにデータを確認できます。

1600496099281.png

Filter の指定

userrank の値が、silver のデータのみフィルターを行います。

FILTER_1.SOURCE_1.userrank='silver'

1600496294869.png

Data タブでリアルタイムにデータを確認できます
silver のみフィルターされています。

1600496361494.png

CREATE NEW ENTITY を入れて、Select を押します

1600496489660.png

こんな感じで、出力先の Object Storage を指定します。NEW DIRECTORY NAME は、出力するディレクトリの名前です。後からパラメータ化しますが、動作確認のために指定した名前は憶えておきましょう。

1600496660367.png

この段階で、作成した Data Flow を実行してみると、次のように Bucket にデータ加工されます。

1600497066287.png

ディレクトリ名は、指定した 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 を押します。

1600497270207.png

Add New Parameter

1599978016099.png

Identifier は、後程パラメータとして表示される名前です。分かりやすい名前を入れておきましょう。今回は、INPUT_OBJECT_NAME とします。その他設定はデフォルトのままにしておきます。

1600497402157.png

Assign

1600497428433.png

表示が変わる。

1600497460507.png

Output のディレクトリ名もパラメータ化をします。

1600497561935.png

分かりやすい名前を入れましょう。今回は、OUTPUT_DIRECTORY_NAME とします。

1599980094083.png

Assign

1599980157008.png

Save and Close で閉じます。

1599980210618.png

Parameter 動作確認

作成した Data Flow を使って、Create Integration Task を押します。

1599979135723.png

適当に名前を入れて作成します。Parameter をアサインしているので、ここの画面でパラメーターを変更できるように変わります。が、今回はここでは指定しません。実際にデータ加工タスクを実行する場面で、パラメータを指定してみましょう。

1599979214140.png

Publish

1599979357629.png

Application を指定して Publish

1599979379808.png

データ加工タスクを実行する画面を開きます。

1599979423358.png

Data Flow には、INPUT_OBJECT_NAMEOUTPUT_DIRECTORY_NAME の2つをパラメータ化しました。なので、タスクを実行する画面でも、パラメータを指定出来るようになっています。

INPUT_OBJECT_NAME を変更してみましょう。

1600497973818.png

変更して Select

1599979539792.png

OUTPUT_DIRECTORY_NAME も Edit してみます。

1599980615249.png

名前を入れて、Select をします。

1600498070447.png

Run で実際のタスクを実行します。

1600498098005.png

Task Runs の画面に切り替わります。画面を更新するには、右側にある、Refresh を押します。一定時間後、Task が正常終了していることがわかります。

1599980853676.png

output を見ると、パラメータ化で指定した名前で出力されていることがわかります。

1600498194538.png

実際の 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

Blogs
https://medium.com/@dave.allan.us

3
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
3
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?