以下是通过 Flink SQL + YAML 配置文件实现 PostgreSQL 到 Doris 实时同步的完整方案,包含架构设计、配置文件和详细操作步骤,适合新手快速上手:
一、整体架构
+---------------+ +----------------+ +---------------+ +---------------+
| PostgreSQL | | Flink CDC | | Flink SQL | | Doris |
| (Source DB) | --CDC-> | (YAML+SQL配置) | --SQL-> | (实时ETL) | ----> | (Sink DB) |
+---------------+ +----------------+ +---------------+ +---------------+
- CDC 采集:通过 Flink CDC 3.0 的
postgres-cdc连接器捕获变更数据 - SQL 处理:使用 Flink SQL 定义 Source/Sink 并执行同步逻辑
- YAML 配置:统一管理作业参数(并行度、检查点等)
二、环境准备
1. 软件版本
- Flink 1.16+
- Flink CDC 3.0+
- Doris 1.2+
- PostgreSQL 10+
2. 依赖文件
将以下 JAR 文件放入 Flink 的 lib/ 目录:
flink-connector-postgres-cdc-3.0.0.jarflink-doris-connector-1.2.0.jar
三、配置文件详解
1. Flink 全局配置 (flink-conf.yaml)
# 启用检查点(保证Exactly-Once语义)
execution.checkpointing.interval: 5000
execution.checkpointing.mode: EXACTLY_ONCE
# 并行度配置
parallelism.default: 2
# 状态后端(推荐RocksDB)
state.backend: rocksdb
state.checkpoints.dir: hdfs:///flink/checkpoints
2. 同步作业配置 (sync-job.yaml)
# 定义Source表
tables:
- name: pg_


7万+

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



