0

我有一个像

       tJava --> tFileOutputXML 

我工作中的组成部分。当我的条件满足时,我需要关闭那个 xml 并且必须创建一个新的 xml 源。这在 talend 中可能吗?

我将尝试用一个例子来解释我的问题。在我的数据中,我有 10 条记录,其中 8 条记录是关于 user1 的,2 条记录是关于 user2 的。因此,现在必须在 user1.xml 中放置 8 条记录,在 user2.xml 中放置 2 条记录。在这里,数据中的记录数和用户数可能会随着时间的推移而增加。我需要创建具有关联用户数据的许多文件..

4

1 回答 1

1

如果您的源数据在文件中:

  1. 使用 tAggregateRow 组件,获取不同的用户名。
  2. 使用 tFlowToIterate 组件迭代每个用户名:
  3. 使用 Iterate 链接连接到 tJava 组件。
  4. 使用 tjava 组件将用户名分配给上下文变量。例如。如果聚合组件的输出行是 row1,则 context.username=row1.username。
  5. 使用“OnComponentOk”将 tJava 连接到文件组件以读取文件中的数据。
  6. 使用 tmap 或 tFilterRow 过滤记录以获取用户名的值,即 context.username
  7. 将数据写入文件。将文件名指定为“\”+context.username。

如果您的源数据在表中:

  1. 从表中选择不同的用户名。
  2. 使用 tFlowToIterate 迭代每个用户名。(使用主链接将表格组件连接到该组件)
  3. 使用 Iterate 链接连接到 tJava 组件。
  4. 使用 tjava 组件将用户名分配给上下文变量。例如。如果表组件的输出行是 row1,则 context.username=row1.username。
  5. 使用 'OnComponentOk' 将 tJava 连接到表组件,以根据 where 条件从表中选择数据:username='"+context variable+"'
  6. 将数据写入文件。将文件名指定为“\”+context.username。
于 2012-12-27T10:17:05.303 回答