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

flink cdc 3.0 同步mysql 数据,怎么配置排除某列?

flink cdc 3.0 同步mysql 数据,怎么配置排除某列?

展开
收起
真的很搞笑 2024-01-01 09:00:57 166 0
3 条回答
写回答
取消 提交回答
  • debezium.column.exclude.list: databaseName.tableName.columnNameimage.png
    这是整库同步的用法,直接搬debezium的配置排查 ,此回答整理自钉群“Flink CDC 社区”

    2024-01-02 03:50:31
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在 Flink CDC 3.0 中,要排除某个列进行同步 MySQL 数据,可以通过以下步骤进行配置:

    1. 首先,确保你已经正确安装并配置了 Flink CDC 3.0。
    2. 创建一个 Flink SQL 表来存储 MySQL 数据。例如,假设你要同步的表名为 my_table,包含列 idnameage,你可以使用以下 SQL 语句创建表:

      CREATE TABLE my_table (
        id INT,
        name STRING,
        age INT
      ) WITH (
        'connector' = 'mysql-cdc',
        'hostname' = 'localhost',
        'port' = '3306',
        'username' = 'your_username',
        'password' = 'your_password',
        'database-name' = 'your_database',
        'table-name' = 'my_table',
        'scan.startup.timestamp-millis' = '1627545600000',
        'scan.stop-timestamp-millis' = '9999999999999',
        'scan.incremental.enabled' = 'true'
      );
      
    3. 在上述 SQL 语句中,添加一个 EXCLUDED 子句来指定要排除的列。例如,如果你想排除 age 列,可以将其添加到 EXCLUDED 子句中:

      CREATE TABLE my_table (
        id INT,
        name STRING,
        EXCLUDED.age INT
      ) WITH (
        'connector' = 'mysql-cdc',
        ...
      );
      

      注意,EXCLUDED 子句中的列名前面需要加上两个点号(..),以表示这些列是排除在外的。

    4. 现在,当你执行 Flink SQL 查询时,age 列将不会被包含在结果集中。

    通过以上步骤,你可以在 Flink CDC 3.0 中配置排除某个列进行同步 MySQL 数据。请根据你的实际情况修改代码中的数据库连接信息、表名和排除的列名。

    2024-01-01 13:03:46
    赞同 展开评论 打赏
  • 在Flink CDC 3.0中,如果你想在同步MySQL数据时排除某列,你可以在创建Source表时使用EXCLUDE_ALL选项。以下是一个示例:

    CREATE TABLE source_table (
        id INT,
        name STRING,
        age INT
    ) WITH (
        'connector' = 'mysql-cdc',
        'hostname' = 'localhost',
        'database-name' = 'testdb',
        'table-name' = 'test_table',
        'exclude-columns' = 'age',
        'change-data-capture.column-filtering-mode' = 'EXCLUDE_ALL'
    );
    

    在这个示例中,exclude-columns参数用于指定要排除的列,change-data-capture.column-filtering-mode参数用于启用列过滤。这样,在同步数据时,age列将被排除。

    2024-01-01 11:01:20
    赞同 展开评论 打赏

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

相关产品

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

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

    相关镜像