5

あるデータベースから別のデータベースにデータを移行するサンプル ジョブがいくつかあります。ジョブがアプリケーション自体から対話的に実行されたときのような、現在の進行状況に関する情報が必要です (コマンド ラインからエクスポートして実行します)。 )。私は flowMeter と statsCatcher を使用していますが、取得したのは全体の時間と渡されたレコードの全体の数です (例: 4657 秒、50.000.000 行)。まともなログを取得する解決策はありますか?

4

3 に答える 3

3

私の知る限りtLogRow、コンソールに出力します。そのため、簡単に出力を差し込むことができます。

tLogRow十分でない場合は、出力をTJavaFlexコンポーネントに接続できます。そこでは、log4j や任意のカスタム出力などを使用できます。

tFileDelimitedOutputログファイルとしても使用できます。このコンポーネントには、このユースケースの魅力のように機能する優れた「追加」オプションがあります。


上記の質問に対して:ログ情報の取得方法

経験上、一部のコンポーネントがフローを出力することがわかります。たとえば、tMysqlInputは正常に挿入された行を出力します。

通常、情報をログに記録するにtReplicateは、フローのコピーをログ ファイルに出力できるコンポーネントを使用します。

 tMySqlOutput ---- tReplicate ----- tMap -------- tMySqlInput (insert in DB)
                              +---- tMap -------- tDelimitedFile (log info)
于 2013-06-17T14:26:30.263 に答える
1

tLogCatcher と組み合わせて tWarn を使用することもできます。

tMySqlOutput ---- tFilter ---- tWarn

tLogCatcher ---- tMap ---- tLogRow

tFilter を使用すると、行が完了するたびに進行状況をログに記録できなくなります (Gabriele B の回答を参照)。tWarn には、ログアウトする実際のメッセージが含まれます。

tLogCatcher はすべての tWarns から入力を取得する必要があり、tMapper は logCatcher からの各行を出力行に変換し、tLogRow はそれをログに記録します。

その答えは、より詳細に説明されています (写真付き): http://blog.wdcigroup.net/2012/05/error-handling-in-talend-using-tlogcatcher/

于 2014-01-14T18:05:19.440 に答える