每条记录​​的Talend循环

问题描述:

嗨,我正在设计一个数据生成作业。 我的工作是这样的每条记录​​的Talend循环

tRowGenerate - > tMap - > tFileOutputDelimited。

可以说我的tRowGenerate产生5列2记录。我想迭代这个记录,即对于我想迭代特定次数的每个记录。

记录1重复5次以产生更多数据。

对于记录2重复3次以产生更多数据。

enter image description here

请建议如何十一逻辑应用此繁衍。每个记录的xi可以改变。

谢谢!

+0

您是否需要能够选择第一行重复的次数等,或者您是否乐于随机选择? – ydaetskcoR 2014-10-16 11:40:07

+0

它的值将由基于业务规则的函数决定。我会为它编写一个自定义例程。 – Kaushal 2014-10-16 11:50:03

+1

[Talend - 从1行生成n个多行]的可能副本(http://stackoverflow.com/questions/26365036/talend-generating-n-multiple-rows-from-1-row) – ydaetskcoR 2014-10-17 13:55:14

如果要循环使用tRowGenerator生成的数据,可以使用tLoop将呼叫置于业务规则中,以确定循环数或停止循环。

一个例子作业可能看起来像:流动

Example job layout and tLoop configuration

逻辑:

  1. ROW1正在生成的值来存储他们的全局变量tFlowtoIterate主连接;
  2. 迭代链接激活tLoop,它可以使用存储在全局变量中的值来激活您的业务规则(如果继续或停止,有循环的次数或寿命问题);
  3. tLoop激活tJavaFlex,它使用存储的全局变量生成你喜欢的输出并通过主链接(第2行)将它传递给tFileOutputDelimited。

您必须激活tFileOutputDelimited上的附加标志才能保留来自不同循环的数据。如果你需要,你可以在开始之前添加一个tFileDelete,在新的处理循环之前清空输出文件。

+0

谢谢@ydaetskcoR for内联图像。 希望现在有超过15的声望,我可以直接添加它们。 :) – RobMcZag 2014-10-31 08:46:37