【问题标题】:Can Nifi processor CaptureChangeMySQL handle hyphens in schema name pattern?Nifi 处理器 CaptureChangeMySQL 可以处理模式名称模式中的连字符吗?
【发布时间】:2017-08-03 20:06:19
【问题描述】:

使用 Nifi 1.3.0 和 MySQL Server 5.7 测试 CaptureChangeMySQL 处理器。不幸的是,我想跟踪更改的架构带有连字符,如schema-name-here.table_is_fine,CaptureChangeMySQL 处理器中的属性“数据库/架构名称模式”无法理解。

NiFi 有办法处理这种命名吗?我尝试过 `、' 和 ",但它似乎将带有引号的架构名称视为与没有它们的对应方唯一的架构名称。

【问题讨论】:

    标签: mysql apache-nifi cdc


    【解决方案1】:

    CaptureChangeMySQL 处理器的 Database/Schema Name Pattern 字段需要 Java 正则表达式模式字符串。来自CaptureChangeMySQL processor documentation

    用于根据 CDC 事件列表匹配数据库(或模式,取决于您的 RDBMS 术语)的正则表达式 (regex)。正则表达式必须与存储在 RDBMS 中的数据库名称匹配。

    所以,是的,它应该能够处理几乎任何模式名称。确保您使用的是有效的正则表达式模式字符串,因为在内部,它将被传递给 Pattern.compile(YOUR_SCHEMA_NAME_PATTERN),其中 YOUR_SCHEMA_NAME_PATTERN 是您在 Database/Schema Name Pattern 字段中输入的任何内容。

    希望这会有所帮助。

    【讨论】:

    • 可能需要使用\- 转义模式,因为- 在正则表达式编译中具有特定含义。试试schema\-name\-here
    • 嗨,安迪。尝试了那种转义风格,但同样的语法错误。我会继续玩它的。
    猜你喜欢
    • 2015-11-10
    • 1970-01-01
    • 2013-04-06
    • 1970-01-01
    • 1970-01-01
    • 2011-10-07
    • 2010-12-16
    • 2019-08-17
    • 2021-08-31
    相关资源
    最近更新 更多