Talend 中的动态过滤器行

Dynamic filter rows in Talend

是否可以从 Excel 文件中获取值并使用它们来过滤 Talend 中的行? 例如: 我有一个包含帐号列表的 Excel 文件。 在 Talend 中,我在链接到 tMap 的 tDBInput 中有一个查询,该查询链接到 tFilter。此过滤器基于帐户列表的 Excel 列值。 或者如果我可以在 tDBInput 的 where 子句中使用帐户列表。问题是帐户列表可以随时更改。 非常感谢。

有多种方法可以继续:

  • Link 你的 tDBInput 到 tMap 作为主流,你的 excelInput 作为查找。将 tMap 中两个流之间的连接作为内部连接:这样您就可以使用来自 excel 的数据过滤主要数据。不方便的是,你会从DBInput中读取所有数据,然后再过滤,效率较低。

  • 你也可以通过两个副业来完成:

  • 第一个子作业:tFileInputExcel -> tJavaRow。将您的帐户列表推送到上下文变量中的字符串以构建您的“where”查询。 (您也可以使用具有 'list' 模式的 tAggregateRow 来构建列表)

  • 第二个子作业:使用这个构造的上下文变量作为 DBInput 查询中的过滤器。这样您将只读取该组件中有价值的数据。