🧪 1. Talendでデータをデバッグする方法
✅ やること:
データ処理の途中結果を確認する方法を学びます。
📌 ポイント:
-
通常、
tLogRowを使って確認していたけど、毎回配置するのは面倒。 -
「Debug Run → Traces Debug」を使えば、接続の途中でどんなデータが通ったか可視化できる。
🧰 やり方:
-
「Debug Run」タブに切り替える。
-
「Traces Debug」をクリック。
-
接続線上に"虫メガネマーク"が現れ、通ったデータ(入力・出力)を確認できる。
-
途中で停止(Pause)、再開(Resume)も可能。
💡 補足:
これはリアルタイムでデータの流れを確認できる便利な機能です。複雑な処理の途中で「何がおかしいのか」を見つけるのに役立ちます。
✅ 2. Talendでアサーション(条件チェック)をテストする方法
📌 アサーションとは?
→ 「期待する条件を満たしているかどうか」をチェックする機能。
使用コンポーネント:
-
tAssert:条件のチェックを行う。 -
tAssertCatcher:チェック結果を受け取って表示。
例:
「売上データが40件以上あること」を条件にアサートを作成。
実行結果:
-
条件を満たしていれば:
OK -
満たしていなければ:
Test logically failed
💡 補足:
-
tAssertはテストの自動化や信頼性チェックに使える。 -
条件が満たされない場合、ジョブがエラーを出さなくても警告として知らせてくれる。
📊 3. Talendでデータ量(ボリューム)をログ出力する方法
使用コンポーネント:
-
tFlowMeter:データ件数をカウント。 -
tFlowMeterCatcher:その情報を取得・表示。
使い方:
-
複数のデータフロー(tRowGenerator)を作る。
-
tFlowMeterを挟んで、どのくらいの行数が通っているか確認。 -
tFlowMeterCatcherでまとめてログ表示。
💡 補足:
-
入力合計件数 = 出力件数、などの確認が可能。
-
ジョイン処理やフィルタの影響を見るのにも便利。
⚠️ 4. Talendでエラーと警告をログに出力する方法
使用コンポーネント:
-
tWarn:警告メッセージを出す。 -
tDie:エラーを発生させてジョブを停止。 -
tLogCatcher:上記の内容をまとめてログに記録。
使い方:
-
ファイルが存在しなければ
tDieで停止。 -
ファイルが存在すれば、ファイル数を
tWarnで警告として出力。 -
どちらも
tLogCatcherでキャッチしてファイルなどに出力できる。
📈 5. Talendで実行情報(開始・終了・処理時間など)をログに記録する方法
使用コンポーネント:
-
tStatCatcher:ジョブやコンポーネントの開始・終了・処理時間を記録。
設定方法:
-
各コンポーネントの「Advanced settings」にて
tStatCatcher StatisticsをONにする。
ログに記録される情報:
-
処理の開始・終了時刻
-
成功・失敗
-
所要時間(ms)
-
どのコンポーネントで記録されたか(origin)
📁 6. Talendでジョブ単位のログを出力する方法(ジョブの詳細ログ)
使用キャッチャー4種:
-
tAssertCatcher -
tFlowMeterCatcher -
tLogCatcher -
tStatCatcher
実行方法:
-
それぞれのキャッチャーに出力を接続し、
logDirフォルダにファイル出力設定。 -
失敗した場合も含め、各種ログファイル(assert、flow、error、statなど)が保存される。
補足:
-
tDieでエラーが起きた場合でもログは記録される。 -
pidなどのプロセスIDも記録され、親子関係の確認も可能。
🛠 7. Talendで「より良い」ジョブログを出力する方法
改善点:
-
各キャッチャー + 出力ファイルを個別に設定せずに済むように、ジョブ設定でログ出力の場所や形式を一括管理できる。
方法:
-
「ジョブ」タブ → 「Stats & Logs」サブタブへ。
-
Use project settingsをOFFにして、出力先やログの種類を設定。 -
各種ログファイル(log、meter、statsなど)を自動出力。
🧩 8. Talendでプロジェクト単位のログ設定を使う方法
内容:
-
先ほどの「Stats & Logs」設定をプロジェクト全体に反映させることで、どのジョブでも一貫したログ出力ができる。
手順:
-
「Job」タブ → 「Stats & Logs」で設定完了。
-
「Save to project settings」でプロジェクト全体に保存。
-
他のジョブでは「Reload from project settings」でその設定を読み込み可能。
-
Edit project properties→Job Settingsでも設定可能。
🔚 まとめ
| 機能 | 使うコンポーネント | 目的 |
|---|---|---|
| データ確認 | Debug Run + Traces Debug | フロー途中のデータを確認する |
| 条件のチェック | tAssert, tAssertCatcher | 条件を満たすか検証 |
| データ量の記録 | tFlowMeter, tFlowMeterCatcher | 入出力件数のチェック |
| エラー・警告の記録 | tWarn, tDie, tLogCatcher | エラー・例外・警告のログ化 |
| 実行ログ(開始・終了) | tStatCatcher | 処理時間や成功・失敗を記録 |
| ジョブログの一括出力 | 各種キャッチャー + 出力先指定 | ジョブ単位でログをファイルにまとめる |
| ジョブログのスマート管理 | ジョブ設定 → Stats & Logs | ログ出力の一元管理 |
| プロジェクト全体のログ設定 | Project Settings | すべてのジョブに共通設定を適用できる |
