2017-12-12 6 views
0

Talendジョブがあり、コンポーネントによって閉ループが形成されています。次のようにイメージは以下のとおりです。閉鎖ループはTalendジョブでは機能しません

enter image description here

両方TMAP出力のスキーマが同じです。今度は、tMapをtUniteに接続した後、2番目のtMapを接続しようとすると、接続されません。 私はTalendがジョブでクローズドループを許さないと聞きました。本当?はいの場合、なぜですか? 誰かが同様の質問hereを持っていましたが、答えが見つかりませんでした。

答えて

2

実際にTalendはJavaプログラムを作成します。本質的にあなたが遭遇した制限の理由です。

次にから1行、次にBから1行それから1行を取ることができないC.

の全て次いで全てのBの即ち全て順番に入力の各々によって提供されるすべてのデータを取るtUnite次に、各フローに使用されるプログラミングループの性質のため、Aから2行、Bなどから2行を選択します。 しかし、複数の出力またはt複製を作成すると、行1がAに、次に行1がBに、次に行1がCに、次に行2がAに、行2がBになります。

これは分割できず、流れ。

+0

この説明をありがとう:) –

1

PreetyKが理由を説明しました。この制限を回避する方法を説明します。
tMap_10とtMap_11の出力は、それぞれtHashOutputに格納できます。 2番目のtHashOutputでは、 "tHashOutputとのリンク"チェックボックスをチェックしてから、ドロップリストから他のtHashOutputを選択する必要があります。これは、最初のtHashOutputがtMap_10とtMap_11の出力の "和集合"を効果的に作るのと同じバッファに書き込むように指示します。 次のサブジョブでは、tHashInputを使用してtHashOuputから読み込みます(2つの出力が同じデータを共有するため、1つのtHashInputを使用する必要があります)。

enter image description here

その後tHashInput:デフォルトでは、これらのコンポーネントが隠されていることを enter image description here

は、ここではいくつかのスクリーンショットです。あなたは、ファイル>プロジェクト設定>デザイナー>パレット設定に移動し、それらを左ペインから右ペインに移動する必要があります。あなたはあなたのパレットにそれらを見つけるでしょう。

enter image description here

+0

は、このソリューションをありがとう:)うまく説明 –

関連する問題