本文主要是介绍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 集成:State Snapshot 还是 Changelog?Kafka 还是 Upsert Kafka?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!