[Talend] tDenormalizeコンポーネントを使ってみた
はじめに
Talendのコンポーネントはたくさんありますが、使ったことないコンポーネントの方が断然多いのです。そこで適当に使ったことないコンポーネントを動かしてみてどんな動きをするのか?を検証してみる 第2段です。 検証バージョンはTalend Open Studio 6.1.0を使っています。
tDenormalizeコンポーネント
説明には
機能 | 1つのコラムに基づく入力フローを非正規化します。 |
目的 | tDenormalizeは、入力フローを合成するのを助けます。 |
みたいな感じで書いてあります。 tNormalizeコンポーネントを触ったのでなんとなく動きが想像つきますが、このコンポーネントも実際に使ってみます。
コンポーネントを配置してみる
まずは以下の3つのコンポーネントを使います。
- tFileInputDelimited
- tDenormalize
- tLogRow
下記のようにコンポーネントを配置し、関係線を Row > メインでつなぎます。
使用するサンプルテキストは以下です。
Fathers;Children pierrick;Erwann Fabrice;Martin Stephane;Agathe pierrick;Tiphaine Robert;Manon Stephane;clemence Richard;Romeo Mickael;Ocean pierrick;George
tFileInputDelimitedコンポーネントをクリックして基本設定を開いて読み込むファイル名のパスを設定します。 ※TalendのリファレンスガイドにはCSVオプションにチェックが入ってないですが、これを入れておかないと正常に動作しなかったためチェックを入れています。 次に「スキーマの編集」を行います。(下記のようにCOLUMN、キー、タイプ、ヌル可を設定します) 次にtDenormalizeコンポーネントをクリックして「カラムの同期」をクリックし、「スキーマの編集」をクリックします。下記のようになっていればOK 以下のように非正規化対象のカラムにChildrenを指定し、区切り文字を";"で同じ値をマージにチェックします 最後にtLogRowコンポーネントをクリックしてモード:テーブルを選んでジョブを保存します。
実行してみる
まとめ
tDenormalizeで非正規化したいカラムを指定することでFathersに対してChildrenが集約されました。このコンポーネントもいつか役立つ日が来れば良いなと思いつつ、今回はこの辺で。