概要
PentahoのETLツールであるPDI(Kettle)の正規化ステップ(Row Normaliser)は、
そのステップ単体では、静的な正規化しかできない。
しかし、ETL Metadata Injectionを使用すれば動的な正規化が実現できる。
ETL Metadata Injectionを使用しない場合
指定したフィールドに静的な値を紐付け、正規化を行う。
正規化する対象が固定であればいいのだが、大抵の場合、
任意のテーブル(マスタデータ)と紐付けて正規化する。
正規化するパターンが増えた場合はデータ変換の修正が必要になる。
ETL Metadata Injectionを使用した場合
正規化するためのマスタデータをDBから取得後、
ETL Metadata Injectionステップにて、正規化ステップのあるktrファイルの
正規化フィールドをマスタデータを元に設定をする。
正規化するパターンが増えた場合でも、マスタデータとして登録されていれば
データ変換の修正は必要ない。
どういう時に使うと便利か
CSVファイルからデータを取得後、取得したデータ行を正規化して
DBに登録、という処理などで使用するとCSVの列数が増減した場合でも対応できる。
その場合はCSVインプットステップもETL Metadata Injectionで動的に変更する。
CSV取得時のETL Metadata Injectionの使い方は下記のURL参照のこと。