这篇教程将展示如何基于 Flink CDC 快速构建 MySQL 到 Databend 的实时数据同步。本教程的演示都将在 Flink SQL CLI 中进行,只涉及 SQL,无需一行 Java/Scala 代码,也无需安装 IDE。
假设我们有电子商务业务,商品的数据存储在 MySQL ,我们需要实时把它同步到 Databend 中。
接下来的内容将介绍如何使用 Flink Mysql/Databend CDC 来实现这个需求,系统的整体架构如下图所示:

准备阶段
准备一台已经安装了 Docker 和 docker-compose 的 Linux 或者 MacOS 。
准备教程所需要的组件
接下来的教程将以 docker-compose 的方式准备所需要的组件。
debezium-MySQL
docker-compose.yaml
version: '2.1'
services:
postgres:
image: debezium/example-postgres:1.1
ports:
- "5432:5432"
environment:
- POSTGRES_DB=postgres
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
mysql:
image: debezium/example-mysql:1.1
ports:
- "3306:3306"
environment:
- MYSQL_ROOT_PASSWORD=123456
- MYSQL_USER=mysqluser
- MYSQL_PASSWORD=mysqlpw
Databend
docker-compose.yaml
version: '3'
services:
databend:
image: datafuselabs/databend
volumes:
- /Users/hanshanjie/databend/local-test/databend/databend-query.toml:/etc/databend/query.toml
environment:
QUERY_DEFAULT_USER: databend
QUERY_DEFAULT_PASSWORD: databend
MINIO_ENABLED: 'true'
ports:
- '8000:8000'
- '9000:9000'
- '3307:3307'
- '8124:8124'
在 docker-compose.yml 所在目录下执行下面的命令来启动本教程需要的组件:
ocker-compose up -d<

本教程详细介绍了如何利用FlinkCDC和Docker环境,无须编写Java/Scala代码,仅通过SQL在FlinkSQLCLI中设置,实现从MySQL到Databend的实时数据流。首先,通过docker-compose启动所需组件,包括MySQL、Databend和Flink。接着,配置Flink连接器,创建源表和目标表,设置checkpoint,然后将MySQL的变更实时同步到Databend。最后展示了数据插入和更新时的即时同步效果。
最低0.47元/天 解锁文章
1395

被折叠的 条评论
为什么被折叠?



