将文件拆分为talend中的更多文件

时间:2012-04-27 09:57:10

标签: talend

我正在寻找一种如何根据实际文件行在talend studio中拆分作业执行的方法 - 我想在一个作业分支中处理以“DEBUG”开头的文件行,在另一个作业分支中处理另一行。有可能吗?

4 个答案:

答案 0 :(得分:4)

为此,请使用tMap组件。你的工作看起来像这样

   t*Input--row-->tMap--out1--->tFileOutput*

                      --out2--->tFileOutput*

在tMap组件中,左侧有输入,右侧有输出。在输出表中,选择“激活表达式过滤器”并使用文本框定义过滤器 - 只有与该过滤器匹配的行才能从该连接输出。您可以根据需要拥有尽可能多的输出表和过滤器。

答案 1 :(得分:2)

使用tMap很酷,但如果未定义和修复输出流的数量,则tMap不是一个好的选择。

在这种情况下,使用迭代链接或tjavaflex可以帮助您:

查看本教程“how to split a file into many files regarding a key on each record”,其中解释了如何解决此类任务。它实际上只有法语版本。本教程展示了3种不同的技术来完成这项任务。

答案 2 :(得分:1)

最后我使用了tExctractRegeFields组件 - 只是为匹配行定义了正则表达式。最重要的(之前我不知道)是您可以使用不同类型的连接来连接组件。我右键单击已使用的组件a选择Row > Reject作为新的分支,如上所述。

答案 3 :(得分:0)

我们可以使用tfileoutputdelimitedtfileinputdelimited来完成此操作。 我们在高级设置tfileoutputdelimited中有一个选项,并检查多个文件中的选项拆分文件。

enter image description here