はじめに
Oracle Cloud Integration では、ETL 機能を提供する Data Integration サービスがあります。Data Integration は、様々なデータアセットからデータを取り込み、データのクレンジング・変換・再形成・変換などの ETL 処理が出来るフルマネージドサービスです。サーバー管理が不要で、GUI で視覚的にわかりやすく ETL 処理を表現できます。
今回は、データ変換の方法を簡単に紹介します。次のデータ変換を行ってみます。
データ変換前 : name と userrank が存在しています。
name,userrank
sugiyama,bronze
tanaka,silver
kimura,gold
satou,platinum
データ変換後 : userrank に応じて、userrankid を付与します。bronze は 1, silver は 2, gold は 3, platinum は 4 のコードを付与します。
name,userrank,userrankid
sugiyama,bronze,1
tanaka,silver,2
kimura,gold,3
satou,platinum,4
データ準備
Object Storage に、Input 用のファイルをアップロードします。
Data Flow 作成
アップロードした、csv ファイルを受け取り、データ変換を行い、Object Storage へ Output する Data Flow を作成します。
csv ファイルを受け取る部分です。
データ変換を行う部分です。Expression Operator で新たな列を定義しています。
CASE WHEN 句で、変換の条件を入れています。
CASE WHEN EXPRESSION_1.SOURCE_1.userrank='bronze' THEN 1
ELSE CASE WHEN EXPRESSION_1.SOURCE_1.userrank='silver' THEN 2
ELSE CASE WHEN EXPRESSION_1.SOURCE_1.userrank='gold' THEN 3
ELSE CASE WHEN EXPRESSION_1.SOURCE_1.userrank='platinum' THEN 4
ELSE 999
END
END
END
END
Data タブで、追加した USERRANKID
をリアルタイムに確認できます。CASE WHEN 句で指定した条件で正しく動作していることがわかります。Data Flow 編集中にリアルタイムに確認できるのは良いですね。
データ変換後に、Object Storafe へ出力する部分です。
最後に、Validate を押してエラーが無いことを確認して、Save and Close で閉じます。
動作確認
作成した Data Flow の動作確認をしましょう。Integration Task を作成し、Application に Publish したあと、Run をします。
Task Runs で、正常に完了していることがわかります。
Output Bucket に、データ変換御のファイルがアップロードされています。
ファイルの中身です。正常に USERRANKID
が変換されています。
name,userrank,USERRANKID
sugiyama,bronze,1
tanaka,silver,2
kimura,gold,3
satou,platinum,4