この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
はじめに
こんにちは。DI部の大高です。
今回はTalendのコンポーネント「tSetGlobalVar」を紹介したいと思います。
前提条件
Talendのバージョンは「Talend Open Studio for Big Data」の「Version 7.0.1」で検証しています。
tSetGlobalVarについて
「tSetGlobalVar」を利用してジョブの中で値を一度設定すると、ジョブ内の別のコンポーネントの中で設定した値を取り出すことができます。
「tSetGlobalVar」コンポーネントのTalend Helpページはこちらです。
では、具体的に以下で解説していきます。
ジョブの説明
「tSetGlobalVar」で値を格納し、「tJava」で格納した値を取り出して標準出力に表示します。
今回はサンプルなのでこのようなジョブですが、実際の利用シーンではtMapの内部など他のコンポーネント内部で格納した値を利用することが多いと思います。
「tSetGlobalVar」コンポーネントの設定
「tSetGlobalVar」コンポーネントでは、利用したい値とそのキー値を設定します。
ここでは、「Name」に文字列、「Level」に整数、「DetailLevel」に少数を設定しました。
「tJava」コンポーネントの設定
「tJava」コンポーネントでは、「tSetGlobalVar」で設定した値を取得して標準出力に表示しています。設定した値は以下のようにして取得します。
globalMap.get([キー])
そのまま取得すると「Object」型で返ってくるので、それぞれ以下のように設定した値のデータ型にキャストする必要があります。
// GlobalMapから値を取得
String name = (String)globalMap.get("Name");
int level = (int)globalMap.get("Level");
double detailLevel = (double)globalMap.get("DetailLevel");
実行結果
設定は以上です。実際にこのジョブを実行すると以下のように出力されます。
[statistics] connecting to socket on port 3730
[statistics] connected
Name: Banjou
Level: 3
DetailLevel: 3.4
[statistics] disconnected
「tSetGlobalVar」で設定した値がちゃんと取得されていますね。なお、取得時にキー名を間違えるとnullが返ってくるので注意して下さい。
まとめ
以上、「tSetGlobalVar」コンポーネントの紹介でした。
それでは。