[Talend]tUniteを利用してrowを結合する

はじめに

こんにちは。DI部の大高です。

今回はTalendのコンポーネント「tUnite」を利用したrowの結合を紹介したいと思います。

前提条件

Talendのバージョンは「Talend Open Studio for Big Data」の「Version 7.1.1」で検証しています。

tUniteについて

「tUnite」を利用すると複数の入力rowを結合することができます。

「tUnite」コンポーネントのTalend Helpページはこちらです。

tUnite

では、具体的に以下で解説していきます。

ジョブの説明

「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」コンポーネントの紹介でした。

「スキーマ定義は同じでも入力ソースが異なる」といったパターンで、うまく活用できるコンポーネントではないでしょうか。

それでは!