Flink CDC 与 Kafka 集成:State Snapshot 还是 Changelog?Kafka 还是 Upsert Kafka?

我们知道,尽管 Flink CDC 可以越过 Kafka,将关系型数据库中的数据表直接“映射”成数据湖上的一张表(例如 Hudi 等), 但从整体架构上考虑,维护一个 Kafka 集群作为数据接入的统一管道是非常必要的,这会带来很多收益。

在 Flink CDC 之前,以 Debezium + Kafka Connect 为代表的技术组合都是将数据库的CDC数据先接入到 Kafka 中,然后再由后续的组件解析和处理。引入 Flink CDC 后,我们同样可以沿用这种架构,对于 Flink CDC 来说,这只不过是将原来某种格式的 Sink 表改成了以 Kafka 为 Connector 的 Sink 表,改动及其微小。同时,Flink CDC 本身的架构和使用方式要比 Debezium + Kafka Connect 方案简单地多得多(后者需要专门的 Kafka Connect 集群),所以,使用 Flink CDC 将关系数据的 CDC 数据接入到 Kafka 这一方案,是非常不错的一种技术选型。

本文,我们会围绕这一主题,专门研究与之有关的两个 Connector:kafka / upsert-kafka 和两种 Foramt: json / debezium-json 之间的四种组合,通过四个测试来阐述:kafka 和 upsert-kafka 两种 connector 之间的区别,以及 debezium-json 这种格式和普通 json 格式的区别又是什么。在详细展开前,我们先将重要结论梳理如下:

Source Table Sink Table 是否能工作<

你可能感兴趣的:(大数据专题,付费专栏,flink,cdc,kafka,mysql-cdc,debezium-json,changelog,upsert)