开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

Flink CDC tableList写的正则表达式符合正则flinkcdc能动态采集到吗?

Flink CDC tableList写的正则表达式,任务启动后如果有新增的表符合正则flinkcdc能动态采集到吗?

展开
收起
十一0204 2023-07-26 08:28:43 419 0
3 条回答
写回答
取消 提交回答
  • 在 Flink CDC 中,tableList 参数用于指定需要采集的表名列表。你可以在 tableList 中使用正则表达式来匹配符合条件的表名。

    Flink CDC 支持使用正则表达式来动态采集表,只要正则表达式能够准确地匹配到符合条件的表名即可。这使得你可以根据特定的命名规则或模式来选择需要采集的表。

    以下是一个示例,展示了如何在 tableList 中使用正则表达式进行动态采集:

    cdc.source.table-list = my_database.my_table_.*
    

    上述示例中,my_database.my_table_.* 是一个正则表达式,它将匹配以 my_table_ 开头的所有表名。

    请确保你的正则表达式能够正确匹配到你希望采集的表名,并检查 Flink CDC 的配置是否正确地将该正则表达式应用到了 tableList 参数。

    需要注意的是,正则表达式的性能可能与表名数量和复杂度相关。如果需要采集大量的表,或者正则表达式非常复杂,可能会对 CDC 任务的性能产生一定的影响。因此,在设计正则表达式时,请尽量考虑性能和效率方面的问题。

    2023-07-31 22:34:01
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    在 Flink CDC 中,可以使用正则表达式来指定需要抽取的表。这有助于在有大量表的情况下,快速筛选需要抽取的表,提高任务的性能。
    Flink CDC 支持使用 Java 正则表达式来匹配表名。您可以在 tableList 配置项中使用正则表达式来指定需要抽取的表。例如,假设您有以下三张表:
    Copy
    db1.table1
    db1.table2
    db2.table3
    如果您只想抽取 db1 数据库下的所有表,可以使用以下正则表达式:
    Copy
    db1..*
    这个正则表达式将匹配 db1 数据库下的所有表,包括 db1.table1 和 db1.table2。
    需要注意的是,Flink CDC 中使用的是 Java 正则表达式,因此需要符合 Java 正则表达

    2023-07-29 13:57:27
    赞同 展开评论 打赏
  • 存在即是合理

    Flink CDC 的 tableList 可以写正则表达式,以便动态采集符合正则表达式的表。但是,如果添加了新表,需要修改 tableList 之后从 checkpoint 中重启 Flink 作业才能生效 。

    2023-07-27 14:27:31
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    Flink CDC Meetup PPT - 龚中强 立即下载
    Flink CDC Meetup PPT - 王赫 立即下载
    Flink CDC Meetup PPT - 覃立辉 立即下载