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

Flink读取mysql cdc有办法过滤掉 update_before类型的数据嘛?

Flink读取mysql cdc有办法过滤掉 update_before类型的数据嘛?

展开
收起
三分钟热度的鱼 2023-12-13 17:59:18 61 0
2 条回答
写回答
取消 提交回答
  • 在Apache Flink中,当读取MySQL CDC时,可以通过配置选项或编程方式来过滤掉update_before类型的数据。

    1. 使用Flink SQL
      如果您正在使用Flink SQL,可以在创建表源时指定只处理特定的变更事件类型。例如:

      CREATE TABLE my_table (
        ...
      ) WITH (
        'connector' = 'mysql-cdc',
        'hostname' = '<hostname>',
        'port' = '<port>',
        'username' = '<username>',
        'password' = '<password>',
        'database-name' = '<database>',
        'table-name' = '<table>',
        'server-id' = '<server_id>',
        -- 只处理INSERT和UPDATE_AFTER类型的事件
        'include-events' = 'insert,update_after'
      );
      
    2. 编程方式
      如果您正在使用Java/Scala API进行编程,可以自定义一个ChangelogMode,并将其传递给TableSource的构造函数。例如:

      ChangelogMode changelogMode = ChangelogMode.newBuilder()
          .addContainedKind(Kind.INSERT)
          .addContainedKind(Kind.UPDATE_AFTER)
          .build();
      
      TableSource<?> source = ...;
      source.configure(
          new Configuration(),
          new HashMap<>(),
          changelogMode);
      
    2023-12-13 19:53:45
    赞同 展开评论 打赏
  • 没有办法。此回答整理自钉群“实时计算Flink产品交流群”

    2023-12-13 18:24:14
    赞同 展开评论 打赏

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

相关产品

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

    更多
    One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
    One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
    如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

    相关镜像