【发布时间】:2016-11-18 13:43:08
【问题描述】:
这个问题与 Talend Open Studio 相关,但实际上属于 Regex Java 代码领域。
我需要过滤一个 MySQL 表来
- 在一列中排除字段名称并
- 传递包含在多个其他列中的字符串中出现的关键字排列的行。
使用 tMySQLInput --> tMap --> tMySQLInput 和 !row1.CAT1.equals("IT") 作为输入表达式,我已经成功实现了目标 1。
我无法找到如何使用 tFilterRow 或任何其他组件传递通配符列表。关键字是 %temp%、%recruit% 和 %sourc%。 (我使用 % 是因为它对我的 MySQL 查询很熟悉。)
我希望找到类似于:row1.ColumnName.contains(%temp%|%recruit%|%source%) 的内容,我可以将其放入 tMap 中的变量正则表达式过滤器或 tFilterRow 中的高级表达式。
我是 Java 编码的新手,因此我们将不胜感激任何最佳实践/建议/代码。感谢您的帮助,我从这个社区学到了很多东西。
【问题讨论】:
-
不能在 MySQL 中做过滤吗?您提取的数据越少,您的工作就会越快。
-
我已经考虑过这一点,并暂时将其作为暂缓执行,但我正在寻找 talend 提供的“可重复和自动化”选项。
-
通过将过滤器推送到数据库,您可以节省大量时间,而且如果您处理 TB 级的数据,它将获得回报
-
谢谢,我相信我会走那条路。是否有可能将 sql 代码从 talend 组件传递到数据库,并且仍然拥有数据库引擎的强大功能来完成这项工作?
-
你能验证答案是否正确吗?
标签: java regex filter wildcard talend