Java 在talend中创建文件/输出源

Java 在talend中创建文件/输出源,java,talend,Java,Talend,我有一种流动的感觉 tJava --> tFileOutputXML 我工作中的一部分。当我的条件满足时,我需要关闭该xml并创建一个新的xml源。 在塔伦德这可能吗 我将试着用一个例子来解释我的问题。在我的数据中,我有10条记录,其中8条记录是关于user1的,2条记录是关于user2的。因此,现在必须在user1.xml中放置8条记录,在user2.xml中放置2条记录。 在这里,数据中记录的数量和用户的数量可能会随着时间的推移而增加。我需要用关联的用户数据创建这些文

我有一种流动的感觉

       tJava --> tFileOutputXML 
我工作中的一部分。当我的条件满足时,我需要关闭该xml并创建一个新的xml源。 在塔伦德这可能吗

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

如果源数据在文件中:

  • 使用tAggregateRow组件,获取不同的用户名
  • 使用tFlowToIterate组件对每个用户名进行迭代:
  • 使用迭代链接连接到tJava组件
  • 使用tjava组件将用户名分配给上下文变量。例如,如果聚合组件的输出行是row1,则context.username=row1.username
  • 使用“OnComponentOk”将tJava连接到文件组件以读取文件中的数据
  • 使用tmap或tFilterRow筛选用户名值(即context.username)的记录
  • 将数据写入文件。将文件名设置为“\”+context.username 如果源数据位于表中:

  • 从表中选择不同的用户名
  • 使用tflowtointerate对每个用户名进行迭代。(使用主链接将表组件连接到此组件)
  • 使用迭代链接连接到tJava组件
  • 使用tjava组件将用户名分配给上下文变量。例如,如果表组件的输出行是row1,那么context.username=row1.username
  • 使用“OnComponentOk”将tJava连接到表组件,以根据where条件从表中选择数据:username='“+上下文变量+”'
  • 将数据写入文件。将文件名设置为“\”+context.username
    你说的是哪种情况?您的解决方案可能是If/Iterate连接,但请详细说明您的需求:)非常有用的说明:)