NiFi ListDatabaseTables如何将下划线作为表名格式部分及实现多条件查询
下划线转义方案
ListDatabaseTable的表名匹配逻辑和你选择的匹配策略直接相关,下划线的处理方式分两种情况:
- 若使用SQL LIKE匹配策略:SQL LIKE语法中
_默认是通配符,用于匹配1个任意字符,要匹配字面量下划线需要加转义符,通常写为\_,部分数据库可通过ESCAPE子句自定义转义符。 - 若使用正则表达式匹配策略:正则语法中
_没有特殊含义,直接作为普通字符匹配即可,不需要额外转义。
多匹配条件实现(匹配_1、_3后缀的表)
该处理器支持通过正则表达式实现多条件匹配,推荐优先用正则匹配策略,配置方法如下:
- 找到处理器配置项
Table Name Pattern Match Strategy,选择Regular Expression - 在
Table Name Pattern配置项填入表达式:.*(_1|_3)$
这个表达式会自动筛选所有以_1或_3结尾的表,完全符合你的筛选需求。
如果必须使用SQL LIKE匹配策略,受限于SQL LIKE语法本身不支持原生「或」逻辑,部分支持通配符扩展的数据库可以写为%\_[13],但兼容性较差,更建议用正则方案。
内容的提问来源于stack exchange,提问作者vigneshwar
相关产品推荐
相关产品推荐

