- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
Apache SeaTunnel(Incubating) API重构 李宗文
展开查看详情
1 .Apache SeaTunnel API 重构 SeaTunnel与计算引擎解耦 Apache SeaTunnel Contributor 李宗文 2022-05-14
2 . 01 背景与动机 02 重构目标 03 整体设计 CONTENT 04 Source API 05 Sink API © Apache SeaTunnel Community
3 .01 背景与动机
4 . 背景与动机 SeaTunnel与引擎耦合 • Connector实现次数多 • 参数不统一 • 难以支持多个版本的引擎 • 引擎升级难 © Apache SeaTunnel Community
5 .02 重构目标
6 . 重构目标 SeaTunnel与引擎解耦 • Connector只实现一次 • 支持多个版本的Spark & Flink引擎 • 明确Source的分片并行逻辑,Sink的提交逻辑 • 支持实时场景下的数据库整库同步 • 支持元信息的自动发现与存储 © Apache SeaTunnel Community
7 .03 整体设计
8 . SeaTunnel API Table API Catalog Storage Catalog Table SPI DataType Source API Sink API Engine API Flink Spark Translation Execution Translation Execution © Apache SeaTunnel Community
9 .Execution Flow © Apache SeaTunnel Community
10 .Connector Flow © Apache SeaTunnel Community
11 .04 Source API
12 . Source API Source 所需的特性 • 统一离线与实时API • 支持并行读取 • 支持动态添加分片 • 支持协调读取器工作 • 支持单个读取器处理多张表 © Apache SeaTunnel Community
13 . Source API Source 所需的特性 API • 统一离线与实时API • Boundedness • 支持并行读取 • SourceReader • 支持动态添加分片 • SourceSplit & Enumerator • 支持协调读取器工作 • SupportCoordinate & SourceEvent • 支持单个读取器处理多张表 • SupportMultipleTable © Apache SeaTunnel Community
14 . Source API 如何适配Spark与Flink引擎? • 如何支持动态添加分片? • 如何支持协调读取器? • 如何支持单个读取器处理多张表? © Apache SeaTunnel Community
15 . Source API © Apache SeaTunnel Community
16 . Source API © Apache SeaTunnel Community
17 .05 Sink API
18 . Sink API Sink 所需的特性 • 分布式事务 • 聚合提交 © Apache SeaTunnel Community
19 . Sink API Sink 所需的特性 API • 分布式事务 • SinkWriter • 聚合提交 • SinkCommitter • SinkAggregatedCommitter © Apache SeaTunnel Community
20 . Sink API © Apache SeaTunnel Community
21 . Sink API © Apache SeaTunnel Community
22 . × © Apache SeaTunnel Community