我正在寻找一种如何根据实际文件行在 talend studio 中拆分作业执行的方法 - 我想在一个作业分支中处理以“DEBUG”开头的文件行,在另一个作业分支中处理另一行。这可能吗?
问问题
7547 次
4 回答
4
为此,请使用 tMap 组件。您的工作将如下所示
t*Input--row-->tMap--out1--->tFileOutput*
--out2--->tFileOutput*
在 tMap 组件中,左侧有输入,右侧有输出。在您的输出表中,选择“激活表达式过滤器”并使用文本框来定义您的过滤器——只有与该过滤器匹配的行才会从该连接中输出。您可以根据需要拥有任意数量的输出表和过滤器。
于 2012-06-26T18:31:49.887 回答
2
使用 tMap 很酷,但是如果没有定义和固定输出流的数量,则 tMap 不是一个好的选择。
在这种情况下,使用 iterate link 或 tjavaflex 可以帮助您:
查看本教程“如何将一个文件拆分为多个关于每条记录上的键的文件”,它解释了如何解决此类任务。它实际上只有法语版本。本教程展示了 3 种不同的技术来完成此任务。
于 2014-10-17T08:07:57.197 回答
1
最后我使用了 tExctractRegeFields 组件——简单地定义了匹配行的正则表达式。最重要的(我以前不知道)是您可以使用不同类型的连接来连接组件。如问题所述,我确实右键单击已使用的组件 aRow > Reject
为工作中的新分支选择。
于 2012-04-30T13:33:43.627 回答
0
我们可以使用tfileoutputdelimited
and来做到这一点tfileinputdelimited
。我们tfileoutputdelimited
在高级设置中有一个选项,并检查选项将文件拆分为多个文件。
于 2016-08-26T10:54:33.113 回答