ChunJun
ChunJun(原 FlinkX)技术调研与接入指南
1. 项目背景与概述
ChunJun(纯钧) 是由 袋鼠云(DTStack) 主导开源的数据集成框架,前身为 FlinkX,基于 Apache Flink 构建,定位于 批流一体化的数据同步与数据集成平台。
它通过 Connector 插件体系 将不同类型的数据源进行统一抽象,用户仅需通过 JSON 或 SQL 配置 即可完成复杂的数据同步任务,无需直接编写 Flink 作业代码,大幅降低了实时与离线数据集成的技术门槛。
核心定位
数据集成(Data Integration)
ETL / ELT
实时 & 离线数据同步
CDC 数据采集
数据仓库 / 数据湖构建
典型应用场景
业务数据库 → 数据仓库(ODS / DWD)
业务数据库 → Kafka / Flink 实时链路
MySQL / Oracle 整库迁移
实时 CDC 数据镜像
- 多源异构数据汇聚(RDBMS NoSQL MQ / OLAP)
2. 为什么选择 ChunJun?
2.1 批流一体的数据同步能力 🚀
ChunJun 天然继承 Flink 的 流批统一计算模型,支持多种数据同步模式:
离线同步(Batch)
全量抽取(Full Sync)
基于时间字段 / 自增 ID 的增量同步
分片并行读取(提高大表同步性能)
适用于:
数据仓库每日/每小时离线任务
历史数据回灌
数据迁移
实时同步(Streaming / CDC)
内置 CDC 插件:
MySQL(Binlog)
Oracle(LogMiner / XStream)
支持 INSERT UPDATE DELETE 实时捕获
可直接对接 Kafka ClickHouse Doris / HBase 等
适用于:
实时数仓
数据订阅
- 业务数据实时镜像
2.2 高可靠性与可恢复能力 🛡️
Exactly-Once 语义
深度集成 Flink Checkpoint
Source 端记录:
Binlog Offset
增量字段位置
Sink 端支持事务或幂等写入
任务失败或重启后可 无缝续跑
断点续传能力
离线任务失败后从上次进度继续
CDC 任务自动恢复 Binlog 消费位置
避免重复同步或数据丢失
脏数据治理
支持多种脏数据处理策略:
写入日志
输出到本地文件
输出到数据库或 MQ
- 主链路不中断,保障任务整体稳定性
2.3 配置驱动,极低上手成本 🛠️
无需开发 Flink 代码
通过 JSON 配置文件 描述同步任务
Reader / Writer 参数化配置
支持 SQL 模式(部分场景)
表结构自动映射
字段自动映射
类型自动转换(可配置)
支持字段裁剪、字段重命名
DDL 同步能力(部分 Connector)
支持源端表结构变更:
Add Column
Modify Column
- 下游表结构自动演进(依赖具体 Sink 能力)
3. 核心架构与运行原理
ChunJun 构建于 Apache Flink 之上,其整体架构遵循 Source → Transform → Sink 的流式计算模型。
3.1 架构组成
数据源
↓
Reader(Source Connector)
↓
[ Transformer / Filter / Dirty Data Channel ]
↓
Writer(Sink Connector)
↓
目标数据源
3.2 关键组件说明
Reader(Source)
负责从源端读取数据
支持并行读取、断点续传
将数据转换为 Flink 内部统一的
RowData格式
常见 Reader:MySQL Reader
Oracle Reader
Hive Reader
- Kafka Reader
Transformer(可选)
数据清洗
字段转换
过滤条件
- 类型映射
Channel(数据通道)
控制数据传输速率(限流)
记录与分流脏数据
- 解耦 Source 与 Sink 的性能差异
Writer(Sink)
将
RowData转换为目标端格式支持批量写入、事务提交
适配多种目标系统
常见 Writer:Kafka Writer
ClickHouse Writer
Doris Writer
Hive Writer
HDFS Writer
最后编辑:zws 更新时间:2026-02-10 17:05