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
测试3:chanage-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