[Talend]tUniteを利用してrowを結合する
はじめに
こんにちは。DI部の大高です。
今回はTalendのコンポーネント「tUnite」を利用したrowの結合を紹介したいと思います。
前提条件
Talendのバージョンは「Talend Open Studio for Big Data」の「Version 7.1.1」で検証しています。
tUniteについて
「tUnite」を利用すると複数の入力rowを結合することができます。
「tUnite」コンポーネントのTalend Helpページはこちらです。
では、具体的に以下で解説していきます。
ジョブの説明
「tFixedFlowInput_1」と「tFixedFlowInput_2」でサンプルレコードを生成し、「tUnite」でrowを結合して、結果を「tLogRow」で表示するジョブとなっています。
「tFixedFlowInput_1」コンポーネントの設定
「tFixedFlowInput_1」コンポーネントでは、以下のようなサンプルレコードを2レコード生成しています。
スキーマ定義は以下の通りYear
カラムとName
カラムの2カラムのスキーマです。
「tFixedFlowInput_2」コンポーネントの設定
「tFixedFlowInput_2」コンポーネントでは、以下のようなサンプルレコードを2レコード生成しています。
スキーマ定義は「tFixedFlowInput_1」と同じYear
カラムとName
カラムの2カラムのスキーマです。
「tUnite」コンポーネントの設定
「tUnite」コンポーネントの設定は以下の通り特に設定項目はありません。
スキーマ定義を開くと以下のように、入力スキーマがタブ表示されます。ここで、1点注意が必要なのは「入力スキーマは同一のスキーマ定義でなければならない」ということです。スキーマ定義が異なると結合はできません。
なお、異なるスキーマ定義の入力を指定した場合は、以下のように警告が表示されます。
「tLogRow」コンポーネントの設定
こちらは特に設定を行っていないので省略します。
実行結果
設定は以上です。実際にこのジョブを実行すると以下のように出力されます。
[statistics] connecting to socket on port 3697 [statistics] connected 2018|ZI-O 2018|Gaiz 2017|Build 2017|Cross-Z [statistics] disconnected
「tFixedFlowInput_1」と「tFixedFlowInput_2」のデータが結合されて出力されました!
まとめ
以上、「tUnite」コンポーネントの紹介でした。
「スキーマ定義は同じでも入力ソースが異なる」といったパターンで、うまく活用できるコンポーネントではないでしょうか。
それでは!