闭环在Talend作业中不起作用

时间:2017-12-12 12:25:15

标签: talend

我有一个Talend Job,在某种程度上组件形成了一个闭环。图片如下:

enter image description here

两个tMap输出的模式是相同的。现在在将任何tMap连接到tUnite之后,当我尝试连接第二个tMap时,它没有连接到它。 我听说Talend不允许,在Job中闭环。真的吗?如果是的话,为什么? 有人有类似的问题here,但没有找到答案。

2 个答案:

答案 0 :(得分:2)

Talend实际上创建了一个Java程序;基本上这就是你遇到限制的原因。

tUnite依次获取每个输入提供的所有数据,即A的所有数据,然后全部是B,然后全部是C。

由于每个流使用的编程循环的性质,它不能从A开始,然后从第1行开始第1行,然后从第1行开始第1行,然后从第2行开始,然后从第2行开始第2行。 但是,tMap多个输出或tReplicate会创建第1行到第A行,然后是第1行到第B行,然后第1行到第C行,第2行到第A行,第2行到第B行等。

这就是为什么你不能拆分然后重新加入流。

答案 1 :(得分:1)

PreetyK解释了原因。我将解释如何解决这个限制 您可以将tMap_10和tMap_11的输出存储在tHashOutput中。在第二个tHashOutput,您必须检查"链接tHashOutput"复选框,然后从下拉列表中选择其他tHashOutput。这告诉它写入与第一个tHashOutput相同的缓冲区,有效地使#34; union"你的tMap_10和tMap_11输出。 在下一个subjob上,使用tHashInput从tHashOuput读取(必须使用单个tHashInput,因为2个输出共享相同的数据)。

以下是一些截图:

enter image description here

然后是tHashInput: enter image description here

请注意,默认情况下会隐藏这些组件。你必须去File>项目设置>设计师>调色板设置,然后从左到右移动它们,如下所示。然后,您将在调色板中找到它们。

enter image description here