Talend tMap 过滤行

在这篇 Talend 文章中,我们将展示如何使用 Talend tMap 组件根据表达式过滤行。我们可以使用 tMap 作为 tFilterRow 的替代方案来过滤表中的行或记录。

为了演示 Talend tMap 过滤行,我们使用了与 tFilterRow 示例中相同的客户数据。因此,我将使用 tDBInput 来选择表。

Configure Server Connection and write table Select query

将 Talend tMap 拖放到作业设计中,并将 tDBInput 的 Main 行连接到 tMap。

Talend tMap Filter Rows 2

双击 tMap 将打开以下窗口。

Talend tMap 过滤行示例

单击加号 (+) 按钮为这个 Talend tMap 添加一个新的输出,我们将其命名为 Filtered_Rows。

Talend tMap Filter Rows 4

将 row1 中所有可用的列拖到 Filter_Rows 输出。接下来,请单击小表达式图标,它将打开一个空白区域来编写表达式。

Write an expression

以下表达式将显示职业不是“文职人员”的客户。

Talend tMap Filter Rows 7

我将使用 tLogRow 来显示 Talend tMap 过滤行的输出。为此,请将 tLogRow 添加到工作流中,并将 tMap 的主行连接到它。接下来,在 tLogRow 组件选项卡中,选择表选项。请运行 Talend tMap 过滤行作业以查看输出。

Run the Talend tMap Job to Filter Rows

我们还可以编写多个表达式或条件来过滤输出行。要编写复杂表达式,或者如果您不知道函数名称,请单击浏览按钮。它将打开表达式生成器,并使用它来查看 Talend 所有可用的内置函数。在这里,我们添加了一个额外的条件,它过滤年收入大于 50000 的员工。

Complex multiple expressions to filter

您可以看到所有收入大于 50000 且职业不是“文职人员”的记录。

Talend tMap Filter Rows result

接下来,我们添加了一个额外的输出以显示被拒绝的行,并将所有行添加到其中。

Set Rejected rows

请将 Catch output reject 选项从默认的 false 更改为 True。接下来,单击 OK 按钮关闭 Talend tMap 窗口。

Change the Cache output rejected rows option to true

现在,您可以看到不满足表达式的被拒绝行或行。

Talend tMap Filter Rows Final Preview