Pentaho Data Integration (ETL): 2010年4月アーカイブ

PDIでは、作成したジョブやトランスフォーメーションを
GUIからの操作ではなく、当然コマンドラインから実行できますが、

引数を指定したい場合の簡単な例を以下に記します。
(テーブルから取得したデータをテキストファイルに出力するだけ)

01.jpg

・Get System Info
02.jpg

「command line argument 1」を指定。
フィールド名は任意文字列。

・Table input
03.jpg

「先行のステップから値を引き続ぐ」にチェック。
データを取得するSQL文の
引数の値をセットしたい部分に「?」と記載。

・コマンドラインから実行

今回のはTransformationなのでPanを使用する。
もちろんJobであれば、Kitchenを使って同じようにできます。

>Pan /file (ktrファイル名) (引数の値)04.jpg

実際発行されるSQLは以下のようになり

SELECT * from
 dim_q1
where id = 1   ←引数で設定した値
order by id

該当するレコードがテキスト出力されます。


★Have a nice Open Source Day★
KSKソリューションズ Pentahoチーム









前回の投稿でPDIのステップの一部を紹介しましたが今回も引き続きいくつかのステップを紹介したいと思います。

・Switch/Case
Javaなどのプログラム言語で使用されているswitch/caseオブジェクトの様なステップです。
switch/caseを使用すると、指定した値を持つ行を指定したステップにアウトプットする事が出来ます。
switch-case.jpg
例えば上のように設定するとclassroom_idフィールドに1の値を持った行はDummy(do nothing)ステップへ、2の値を持った行はDummy(do nothing)2ステップへ、その他の行はDummy(do nothing)3ステップへアウトプットされます。

・Combination Lookup
Combination Lookupステップは指定したテーブルにキーフィールドを作成する事が出来ます。
combination_lookup.jpg
上のように設定し、右下のSQLボタンを押すとsubjectsテーブルにsubject_idカラムが作成されます。トランスフォーメーシあうョンを実行するとsubject_nameの行数だけsubject_idカラムに1から順に値が入ります。作成されたsubjectsテーブルは以下の通りです。
subject_table.jpg

・Dummy Step
Dummy Stepは何もしません。何もしませんが主にテスト目的で使用され、最も使用するステップのひとつだと言えます。
例えば以下のようなトランスフォーメーションを定義した場合、実際にはデータストリームをDBにアウトプットしたいが動作確認の為Dummyステップを使用すると言った使い方が出来ます。
dummy.jpg
またこのトランスフォーメーションではFilter Rowsステップでtrueの値のみをDBに入れたいので行き場のない必要の無いデータをDummyステップに投げています。

★Have a nice Open Source Day★
KSKソリューションズ Pentahoチーム