基于Flink CDC构建MySQL和PostgreSQL的Streaming ETL
本文将展示如何基于Flink CDC快速构建MySQL和PostgreSQL的ETL。本教程的演示将在Flink SQL CLI中进行,只涉及 SQL,不需要 Java/Scala 代码,也不需要安装 IDE。
假设我们正在经营电子商务业务,商品和订单的数据存储在MySQL数据库中,订单的物流信息存储在 PostgreSQL数据库中。对于订单表,为了方便进行分析,我们希望找到的相关商品和物流信息上对应的商品和物流信息构成一张宽表,并且实时把它写到Elasticsearch中。
接下来的内容将介绍如何使用 Flink Mysql/PostgreSQL CDC来实现这个需求,系统的整体架构如下图所示: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nw1GqSA9-1639730289994)(/Users/ylchou/Library/Application Support/typora-user-images/flink-cdc-streaming-etl.png)]
准备阶段
准备一台已经安装了Docker和Docker Compose的Linux或者MacOS电脑。
准备教程所需要的组件
后文以docker-compose的方式准备所需要的组件。
使用下面的内容创建一个docker-compose.yml文件:
version: '2.1'
services:
postgres:
image: debezium/example-postgres:1.1
版权声明:本文为ylchou原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。