2017-02-03 10 views
0

Postgresのテーブルに実行中のジョブのすべてのログをインポートしようとしています。私はコンポーネントtLogCatcherとtStatCatcherを使用して、利用可能なすべてのデータを含むテーブルを作成するためにそれらを結合しています。Talendを使用してデータベースにジョブのログを追加する

ジョブは次のようになります。

enter image description here

をTMAPの内部では、私はPIDとジョブ名にlogcatcherとstatcatcherから2つのソースを参加し、それらを組み合わせているために、結果をマージしようとしています

0123:ジョブは、私は、エラーメッセージがある場合でも、logcatcher出力でヌルを取得失敗

enter image description here

しかしたび:表中の

[statistics] connecting to socket on port 3696 
[statistics] connected 
2017-02-03 13:51:07|PR7710|PR7710|PR7710|6981|NASIA|Master_ETL_Job|_52dYEJUvEeaqS8phzVFskQ|0.1|Default||begin|| 
Exception in component tFileInputDelimited_1 
java.io.FileNotFoundException: /Users/nasiantalla/Documents/keychain.csv (No such file or directory) 
    at java.io.FileInputStream.open0(Native Method) 
    at java.io.FileInputStream.open(FileInputStream.java:195) 
    at java.io.FileInputStream.<init>(FileInputStream.java:138) 
    at java.io.FileInputStream.<init>(FileInputStream.java:93) 
    at org.talend.fileprocess.TOSDelimitedReader.<init>(TOSDelimitedReader.java:88) 
    at org.talend.fileprocess.FileInputDelimited.<init>(FileInputDelimited.java:164) 
    at nasia.master_etl_job_0_1.Master_ETL_Job.tFileInputDelimited_1Process(Master_ETL_Job.java:796) 
    at nasia.master_etl_job_0_1.Master_ETL_Job.runJobInTOS(Master_ETL_Job.java:6073) 
    at nasia.master_etl_job_0_1.Master_ETL_Job.main(Master_ETL_Job.java:5879) 
2017-02-03 13:51:08|PR7710|PR7710|PR7710|NASIA|Master_ETL_Job|Default|6|Java Exception|tFileInputDelimited_1|java.io.FileNotFoundException:/Users/nasiantalla/Documents/keychain.csv (No such file or directory)|1 
2017-02-03 13:51:08|PR7710|PR7710|PR7710|6981|NASIA|Master_ETL_Job|_52dYEJUvEeaqS8phzVFskQ|0.1|Default||end|failure|890 
[statistics] disconnected 
Job Master_ETL_Job endet am 13:51 03/02/2017. [exit code=1] 

そして、私のテーブルに私が取得データは、このようなものです:

enter image description here

あなたは、私が見逃しているかもしれない何かを参照していますか?私はtMap内のすべての異なる結合で試しましたが、うまくいかないと思われます。理由はわかりません。

ありがとうございます!彼らは、そのための3つの理由です

答えて

1

tStatCatchertLogCatcherは、tMapと結合しても機能しません。なぜ私は決定的な答えを与えることはできませんが、私は、エラーや統計情報を「キャッチ」する特別な機能に関連すると思っています。たとえば、ログキャッチャーはエラーをキャッチしますが、統計情報はすべてのコンポーネントの統計情報をキャッチできます。

テーブルを分割してこれらのテーブルに結合してレポートを作成することをお勧めします。実際、Talendにはこの機能が組み込まれているため、各ジョブに独自のtStatCatchertLogCatcherコンポーネントを用意する必要はありません。

まず、AMCデータベース構造を作成し、ファイル - >プロジェクト設定の編集 - >ジョブ設定 - >統計とログに移動する必要があります。 [データベース上の]オプションを選択します。その後、Talendは自動的に統計情報、エラー、およびフローをAMCデータベースに記録します。このdbを報告することができます。
enter image description here

enter image description here

+0

すごい、それは驚くべきことだ、私は才能が自動的にログインすることができ知りませんでした!どうもありがとう!! –

1

tDieまたはtWarn何が存在しない場合

  • tLogCatcherは、ログを提供していない、と私は、これはあなたのケースだと思います。

  • tLogCatchertStatCatcherは、異なるイベントによってトリガーされるため、同時にデータを提供する必要はありません。したがって、結合は一致しません。

  • 機能的な前提から、2つのフローを結合することは意味をなさないが、それらは完全に独立している。

私は別のテーブルにこれらのフローをダンプすることができrecommand、これは任意のコンポーネントを使用せずに開発することなく、暗黙的に達成することができ、hereを参照してください。

関連する問題