3

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

4

4 回答 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

我们可以使用tfileoutputdelimitedand来做到这一点tfileinputdelimited。我们tfileoutputdelimited在高级设置中有一个选项,并检查选项将文件拆分为多个文件。

在此处输入图像描述

于 2016-08-26T10:54:33.113 回答