2
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 でコード変換してみた

Posted at

はじめに

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 用のファイルをアップロードします。

1600724492596.png

Data Flow 作成

アップロードした、csv ファイルを受け取り、データ変換を行い、Object Storage へ Output する Data Flow を作成します。

csv ファイルを受け取る部分です。

1600724766201.png

データ変換を行う部分です。Expression Operator で新たな列を定義しています。

1600725932159.png

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 編集中にリアルタイムに確認できるのは良いですね。

1600725984620.png

データ変換後に、Object Storafe へ出力する部分です。

1600726313976.png

最後に、Validate を押してエラーが無いことを確認して、Save and Close で閉じます。

1600726426637.png

動作確認

作成した Data Flow の動作確認をしましょう。Integration Task を作成し、Application に Publish したあと、Run をします。

1600726532380.png

Task Runs で、正常に完了していることがわかります。

1600726619038.png

Output Bucket に、データ変換御のファイルがアップロードされています。

1600726688855.png

ファイルの中身です。正常に USERRANKID が変換されています。

name,userrank,USERRANKID
sugiyama,bronze,1
tanaka,silver,2
kimura,gold,3
satou,platinum,4
2
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
2
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?