Flink CDC 问题以及测试记录(持续更新...)

本文记录了Flink CDC在实际使用中遇到的问题,包括DDL结构变更的兼容性、任务中断恢复、MySQL CDC数据重复、Kafka分区策略以及格式设置。还探讨了Flink版本对并发支持的影响,并提供了相关测试案例和解决方案。
摘要由CSDN通过智能技术生成

Flink 中文社区 | 中文学习教程Flink 中文社区是 Apache Flink 唯一授权的学习网站https://flink-learning.org.cn/article/detail/3ebe9f20774991c4d5eeb75a141d9e1e问题及测试集锦
1、flink cdc 的 api兼容的ddl的结构变更吗?
2、cdc 比如增量消费 然后 kill任务 再恢复?
3、mysql cdc 设置了检查点,sink到kafka,重启作业,为啥全量的数据还是会重新发送到kafka

4、CDC 到 KAFKA 时无法按照主键进行自动分区分发、无法指定分区键分发数据。到 KAFKA 的数据格式指定(JSON,AVRO JSON等)。

5、chanage-json format

测试3chanage-json format 测试

订单:

StreamTableEnvironment tableEnv = StreamTableEnvironment.create(env);
        // 如果本该不为null的,出现了null ,是因为数据是以流进入,首次进入的没有关联上,所以为null,为null剔除即可
        tableEnv.getConfig().getConfiguration().setString("table.exec.sink.not-null-enforcer","drop");

        //order
        tableEnv.executeSql("" +
                "create table db_order_info(" +
                " id              bigint not null " + // id
                " ,consignee      string          " +  //-- 名称
                " ,total_amount   decimal(10)   " +      //-- 金额
                " ,user_id bigint" +
                ",PRIMARY KEY(id) NOT ENFORCED" +
                " ) with" +
                "(" +
                "'connector' = 'mysql-cdc'" +
                ",'hostname' = 's202'" +
                ",'port'= '3306'" +
                ",'username' = 'root'" +
                ",'password' = '123456'" +
                ",'database-name' = 'gmall-flink-202111'" +
                ",'table-name'  = 'order_info'" +
                ",'scan.startup.mode' = 'initial'" +
                // 为了方便测试,关闭自增
                ",'scan.incremental.snapshot.enabled' = 'false'" +
                ")");

订单明细:

tableEn
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值