Flink CDC2.0 介绍

介绍

Cdc Connectors for Apache Flink 是一组用于 Apache Flink 的源连接器,使用更改数据捕获 (CDC) 从不同的数据库引入更改。

Apache Flink的CDC Connectors集成了Debezium作为捕获数据更改的引擎

官网:
https://github.com/ververica/flink-cdc-connectors

发展历程

2020 年 7 月由云邪提交了第一个 commit,这是基于个人兴趣孵化的项目;

2020 年 7 中旬支持了 MySQL-CDC;

2020 年 7 月末支持了 Postgres-CDC;

一年的时间,该项目在 GitHub 上的 star 数已经超过 800。

传统 CDC ETL

传统的基于 CDC 的 ETL 分析中,数据采集工具是必须的,如:maxwell、Debezium、Canal 等,采集工具负责采集数据库的增量数据,一些采集工具也支持同步全量数据。

采集到的数据一般输出到消息中间件如 Kafka,然后 Flink 计算引擎再去消费这一部分数据写入到目的端

目的端可以是各种 DB,数据湖,实时数仓和离线数仓。

Flink CDC 的 ETL

使用 Flink CDC 之后,组件更少,维护更方便,另一个优势是通过 Flink SQL 极大地降低了用户使用门槛,如下图:

该例子是通过 Flink CDC 去同步数据库数据并写入到 TiDB,用户直接使用 Flink SQL 创建了产品和订单的 MySQL-CDC 表,然后对数据流进行 JOIN 加工,加工后直接写入到下游数据库。通过一个 Flink SQL 作业就完成了 CDC 的数据分析,加工和同步。

会发现这是一个纯 SQL 作业,这意味着只要会 SQL 的 BI,业务线同学都可以完成此类工作。与此同时,用户也可以利用 Flink SQL 提供的丰富语法进行数据清洗、分析、聚合,如下图:

参考:
https://mp.weixin.qq.com/s?__biz=MzU3Mzg4OTMyNQ%3D%3D&mid=2247493214&idx=1&sn=5c1add3c2ea15f300d8afca522bd77a0&scene=45#wechat_redirect


原文出处:/show_1IX3VGkpTxAm.html