每条记录的Talend循环

时间:2014-10-16 10:52:36

标签: etl talend

您好我正在设计数据生成工作。 我的工作是这样的

tRowGenerate - > tMap - > tFileOutputDelimited。

让我们说我的tRowGenerate生成5列,包含2条记录。我想迭代这些记录,即我希望迭代一定次数的每条记录。

对于记录1迭代5次以产生更多数据。

记录2迭代3次以产生更多数据。

enter image description here

请建议如何将此乘以xi逻辑。每条记录的xi可以改变。

谢谢!

1 个答案:

答案 0 :(得分:3)

如果要循环使用tRowGenerator生成的数据,可以使用tLoop将调用放到业务规则中,以确定循环次数或何时停止循环。

示例作业可能如下所示:

Example job layout and tLoop configuration

流程逻辑:

  1. row1是一个主要连接,它将生成的值带到tFlowtoIterate,并将它们存储在全局变量中;
  2. 迭代链接激活tLoop,该tLoop可以使用存储在全局变量中的值来激活您的业务规则(具有循环数或者询问是继续还是停止);
  3. tLoop激活tJavaFlex,它使用存储的全局变量生成您喜欢的输出,并通过主链接(row2)将其传递给tFileOutputDelimited。
  4. 您必须激活tFileOutputDelimited上的append标志以保持来自不同循环的数据。如果需要,可以在开始时添加一个tFileDelete,以便在新的处理轮次之前清空输出文件。