跳到主要内容
版本:Next

工作原理

新用户先抓住这几点

在第一次使用 SeaTunnel 时,您不需要先理解所有内部模块。 对大多数新用户来说,更实用的顺序是:

  1. 先在本地跑通一个任务
  2. 再理解配置文件结构
  3. 然后选择合适的连接器和执行引擎
  4. 当您需要理解运行模型时,再回到这一页

把 SeaTunnel 先理解成“一条由配置驱动、运行在某个执行引擎上的数据管道”,通常最容易入门。

概述

SeaTunnel 是一个分布式多模态数据集成工具,采用插件化架构。连接器层与执行引擎解耦,同一套连接器可在不同引擎上运行。

这一页适合作为“快速开始”和“架构章节”之间的桥接页。当你已经知道 SeaTunnel 是什么,但还没形成“作业配置、插件体系、执行引擎如何连起来”的整体模型时,建议先读这里。

四个核心构件

1. 作业配置

配置文件描述了读什么、怎么转换、写到哪里,以及需要使用哪些引擎参数。

2. SeaTunnel 核心层

SeaTunnel 会解析配置、生成执行计划、加载插件,并把作业提交到选定的执行引擎。

3. 数据链路:Source -> Transform -> Sink

这是大多数新用户最应该先记住的数据路径:

  • Source(读取) 负责从外部系统读取数据
  • Transform(转换) 负责按需做字段映射、过滤或简单转换
  • Sink(写入) 负责把结果写入目标系统

4. 执行引擎

引擎决定作业最终跑在哪儿。对大多数新用户来说,建议先从 SeaTunnel 引擎(Zeta) 开始;只有在现有环境已经依赖 Flink 或 Spark 时,再切换到对应引擎。

推荐阅读路径

如果你希望先建立一套系统级理解,建议按下面顺序阅读:

核心组件

1. 连接器接口(Connector API)

与引擎无关的统一接口,用于开发 Source、Transform、Sink 连接器。

组件说明
Source(读取)从外部系统读取数据(数据库、文件、消息队列)
Transform(转换)数据转换(字段映射、过滤、类型转换)
Sink(写入)将数据写入目标系统

2. 执行引擎

引擎适用场景
SeaTunnel 引擎(Zeta)数据同步、CDC、低资源消耗
Apache Flink复杂流处理、已有 Flink 基础设施
Apache Spark大规模批处理、已有 Spark 基础设施

3. 翻译层

将 SeaTunnel 统一 API 转换为引擎特定实现,实现连接器跨引擎复用。

数据流

核心特性:

  • 基于分片的并行读取
  • 分布式快照实现精确一次语义
  • 自动故障转移和恢复

模块结构

模块职责
seatunnel-api核心 API 定义
seatunnel-connectors-v2Source 和 Sink 连接器
seatunnel-transforms-v2Transform 插件
seatunnel-engineSeaTunnel 引擎(Zeta)
seatunnel-translationFlink 和 Spark 的引擎适配器
seatunnel-core作业提交与 CLI
seatunnel-formats数据格式处理
seatunnel-e2e端到端测试

作业执行流程

  1. 解析 - 读取并验证作业配置
  2. 规划 - 生成带并行度的执行计划
  3. 调度 - 将任务分发到 Worker 节点
  4. 执行 - 运行 Source → Transform → Sink 管道
  5. 监控 - 跟踪进度、指标和检查点

下一步