我正在尝试在塔林德(Talend)复制一个文职工作。
我在工作中有两个起点(有条件的),并且我正在使用tjava IF触发器来执行子工作中的任何一个。
现在,既然可以执行任何一个子作业,那么我愿意只放置一个tFileInputDelimited并将两个子作业数据流都收敛到一个。
我尝试使用tUnite,但是这样做会使两个工作结合在一起。并且单个子作业不能有两个触发起点。在这种情况下我出错了。
一种方法是使用中间文件,然后再次从中读取。但这不会是abinitio工作的复制。很难说服。
输入数据可能非常大,所以我不确定加入tmap是否是一个好方法。
有人可以建议一些更好的方法,请提出建议。
最佳答案
如果您只需要写入相同的文件而不用相同的组件处理行,则可以
在调用子作业之前设置一个OutputStream。上班前可以很方便。
在每个子作业上使tFileOutputDelimeted写入该OutputStream而不是文件。
处理完输入数据后,关闭OutputStream。岗位可以很方便。
如果需要用相同的逻辑处理行,则可以从已经拥有的每个不同的子作业中调用一个公共子作业。