[Talend]tLogRowを利用してログ出力をする

今回はTalendのコンポーネント「tLogRow」を紹介したいと思います。
2018.10.09

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

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

今回はTalendのコンポーネント「tLogRow」を紹介したいと思います。

前提条件

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

tLogRowについて

「tLogRow」を利用するとrowの内容を標準出力にログ表示することができます。主に開発中のデバッグや、場合によっては実運用上でのログ出力に利用できる利用頻度の高いコンポーネントだと思います。

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

tLogRow

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

ジョブの説明

「tFixedFlowInput」で固定値を設定してrowを生成し、「tLogRow」で内容を標準出力に表示します。

サブジョブを3つ作成しており、「tLogRow」の設定が上から順に「標準」、「テーブル」、「縦に出力」に設定してあります。

「tFixedFlowInput」コンポーネントの設定

「tFixedFlowInput」のスキーマ定義は3つとも以下のように、「Year」と「Title」カラムを持つスキーマとし、レコードとして3レコードのデータを設定しています。

「tLogRow」コンポーネントの設定

「tFixedFlowInput」コンポーネントの設定としては「モード」の設定があり、これにより設定できる箇所が変わります。

「モード」としては「標準」と「テーブル」と「縦に出力」の3つがありますので、それぞれ設定と実行結果を解説していきます。

「標準」モード

「標準」モードはもっともシンプルなモードで、ログの行数が少なくなります。

必須項目として「フィールド区切り」を設定することで、各レコードがカラムの値を「フィールド区切り文字」で区切った状態でログ出力されます。

また、オプションとして「ヘッダーの表示」、「コンポーネントのユニーク名を出力の各行の前に表示」、「カラム名を値の前に表示」、「値を固定長で表示」の設定が可能です。今回は、全てにチェックを入れて以下のように設定してみました。

実行結果としては、以下のようになります。

Year    Title
[tLogRow_1] Year: 2018|Title:       ZI-O
[tLogRow_1] Year: 2017|Title:      Build
[tLogRow_1] Year: 2016|Title:     Ex-Aid

「ヘッダーの表示」にチェックを入れたので、まず1行目にヘッダーとして「Year」と「Title」がタブ区切りで表示されています。

次に、2~4行目のレコード行ログではそれぞれの行でコンポーネントユニーク名が「tLogRow_1」と表示されています。

各カラムの値の箇所には、「カラム名」が表示されており、値は設定した固定長の「長さ」で表示されています。なお、「カラム名」の後にはコロンとスペースが表示されており、その後に固定長の値が続くようになっています。

「テーブル」モード

「テーブル」モードは、各レコードをテーブル形式でログ出力します。細かい設定はとくにありません。

実行結果としては、以下のようになります。

.----+------.
| tLogRow_2 |
|=---+-----=|
|Year|Title |
|=---+-----=|
|2018|ZI-O  |
|2017|Build |
|2016|Ex-Aid|
'----+------'

コンポーネントのユニーク名が先頭に表示され、その下にテーブル形式でログが出力されます。

「縦に出力」モード

「縦に出力」モードは、各レコードを個別にテーブル形式でログ出力するモードです。細かい設定として、「タイトル表示モード」が選択可能となっています。

今回は「ユニーク名とラベルの表示」を選択しました。

実行結果としては、以下のようになります。

.---------------.
|#1. tLogRow_3--tLogRow_3|
+-------+-------+
| key   | value |
+-------+-------+
| Year  | 2018  |
| Title | ZI-O  |
+-------+-------+

.---------------.
|#2. tLogRow_3--tLogRow_3|
+-------+-------+
| key   | value |
+-------+-------+
| Year  | 2017  |
| Title | Build |
+-------+-------+

.----------------.
|#3. tLogRow_3--tLogRow_3|
+-------+--------+
| key   | value  |
+-------+--------+
| Year  | 2016   |
| Title | Ex-Aid |
+-------+--------+

先頭にはタイトルが表示されます。レコード毎に「#1.」のようなレコード番号が表示され、その後に「タイトル表示モード」で設定した通りに「ユニーク名とラベル」が表示されています。

各行のデータとしては、タイトルの後に「key」と「value」として「カラム名」と「値」が表示されています。

まとめ

以上、「tLogRow」コンポーネントの紹介でした。

「tLogRow」は主に開発時に「ちょっと実行結果を確認したい」というケースにおいて、実行結果を確認する際によく利用するコンポーネントだと思います。ただ、大量レコードを出力するとTalend Studioに負荷がかかるので、あくまで少量レコードの確認にとどめておくのがオススメです。

それでは。