在talend中创建文件/输出源

时间:2012-11-23 05:47:49

标签: java talend

我有像

这样的流程
       tJava --> tFileOutputXML 
我工作中的

组件。当我的条件满足时,我需要关闭该xml并且必须创建一个新的xml源。 这可能在talend ??

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

1 个答案:

答案 0 :(得分:1)

如果您的源数据位于文件中:

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

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