Talend 添加带有条件的过滤器


1 新建Job,添加tMap组件

1)在新作业中,添加电影元数据文件作为输入组件

2)添加tMap组件,创建新过滤器。

3)链接两个组件,并将该链接重命名为“电影”,创建从电影组件到tMap_1组件的数据流

2 添加筛选器

本教程中,我们的筛选条件是:1990年以后发行的电影

1)新建输出组件:双击tMap_1组件,然后在tMap向导的输出部分中,单击[+]按钮并将输出命名为moviesFromThe90s

2)从输入电影中选择所有列,将它们拖放到输出moviesFromThe90s输出中。

3)新建的基于筛选条件的过滤器:单击激活表达式过滤器(ActivateExpressionFilter)。

4)创建过滤条件:单击releaseYear列并将其放在表达式过滤器字段上,然后输入>=1990

3 将结果保存到文件中

1)将tFileOutputXML组件添加到作业。

2)将Row>moviesFromThe90s的输出链接到tFileOutputXML_1组件,并重命名为tFileOutputXML_1组件movies>=1990。

3)配置电影>=1990组件:在组件视图中指定输出文件的路径和名称。

4)重命名对应文档,在行标签字段中键入“movies”并运行作业。

5)查看moviesFromThe90s.xml文件。

4 使用两个条件创建第二个过滤器

1)新建一个过滤器,仅过滤80年代的电影。

条件过滤器遵循Java语法规则。您可以使用Java的&&运算符(AND)创建多个条件。

2)运行作业。

结果显示包含1980年至1989年发行的电影列表。

5 输出被过滤器拒绝的数据行

1)创建第三个过滤器:在tMap_1接口中添加另一个名为moviesBefore80s的输出,并将输入电影中的所有列添加到其中。

2)创建被过滤器拒绝的数据输出:单击tMapSettings。

3)单击Catchoutputreject属性值字段中的[…]并单击true。这一步的目的是输出两个条件中任意一个不匹配的所有数据行。

4)添加一个名为movies<1980tFileOutputXML组件,并将tMap_1中的moviesBefore80s行链接到它。

5)配置movies<1980组件:在组件视图中指定输出文件的路径和名称。

6)运行作业。

7)查看filterRejects.xml文件。

最终的结果将包含1980年之前发行的电影列表数据。


评论区(0)

评论