
式トランスフォーメーションを使ってカラムの数値を加工してみる
この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
データアナリティクス事業本部の鈴木です。
Informatica Intelligent Cloud Services(以降、IICS)のInformatica Cloud Data Integration(以降、CDI)でCSVファイルを処理する際、式トランスフォーメーションの機能を使ってカラムに入っている数値を処理して、新しいカラムとして別のCSVファイルに出力してみました。
この記事の目的
CDIのマッピングを使って、読み込んだデータを加工したいとき、トランスフォーメーション言語を使って加工を記述することができます。トランスフォーメーション言語を使うことで、例えば数字のゼロパディングをしたり、固定文字列を付与したりできます。また、IIFを使って分岐を記述することもできます。
初めて式トランスフォーメーションを使う際に参考になればと思っています。
構成とデータについて
構成は以下のようにします。入力用バケットにsample.csvを置いておき、CDIで加工した後、出力用バケットにoutput.csvとして出力します。

データは以下のようなCSVファイルを準備しました。今回は簡単な例として、絶対値を取った版のCSVを出力としてS3に保存します。
col1 1 -2 3 -4 5
ドキュメントについて
式トランスフォーメーションのドキュメントを参考に進めてみました。
日本語版のドキュメントは以下です。
英語版のドキュメントは以下です。
また、式トランスフォーメーションに設定した関数は、以下を参考にしました。
やってみる
この記事では、マッピングの作成部分をご紹介します。
1. マッピングの作成・ソースの設定
データ統合の、マッピングを作成したい場所で、新規 > マッピング > マッピングを押して、マッピングを新規作成します。

今回はS3にあるCSVファイルを取得して、式トランスフォーメーションで加工し、同じくS3に出力するようにしたいので、ソーストランスフォーメーションとターゲットトランスフォーメーションをそのように設定しておきます。

S3への接続については、以下の記事もご参照ください。
今回はポイントのみ記載します。CSVファイルの読み込みなので、ソースの形式はFlatにしました。

また、数値のカラムを読み込むので、ネイティブタイプはflat_bigint、タイプはbigintとしました。

2. 式トランスフォーメーションの設定
ソーストランスフォーメーションとターゲットトランスフォーメーションの間に、式トランスフォーメーションをドラッグ&ドロップします。

式トランスフォーメーションをクリックし、プロパティ > 式のプラスマークを押します。

新しいフィールドに設定を記載します。特にフィールドタイプは出力フィールドを設定しました。また、タイプも数値を返したいのでbigintとしました。

次に式の内容を設定します。

トランスフォーメーション言語にある関数を組み合わせつつ、式を作成しました。

使える関数は、プルダウンで組み込み関数を選ぶことで、選択することもできました。

3. ターゲットの設定
ターゲットトランスフォーメーションの設定を修正しておきました。受信フィールドで、式トランスフォーメーションで作成した出力フィールドのみ受信するように再設定しておきます。

ターゲットフィールドに設定が反映されていない場合は、再読み込みしておきます。

4. 実行結果の確認
作成したマッピングを実行し、結果を確認しました。マッピングの画面から、実行を押して実行します。

S3の該当の場所にCSVファイルが作成できました。

ダウンロードして中身を確認すると、期待通りになっていることが分かりました。
expression1 1 2 3 4 5
最後に
今回はCDIの式トランスフォーメーションの機能を使って、S3に配置したCSVファイルのカラムに入っている数値を処理して、新しいカラムとしてS3の別のCSVファイルに出力する例をご紹介しました。参考になりましたら幸いです。






