Apache SeaTunnel(Incubating) 2.2.0-beta 版本发布!API 重构 原创
点亮 ⭐️ Star · 照亮开源之路
版本更新
今天,Apache SeaTunnel(Incubating) 2.2.0-beta 版本正式发布。新版本对 Connector API 进行了重构,将连接器与引擎解偶,同时社区基于新 API 完成了大量连接器的接入,并修复了上个版本中存在的使用性问题,提高了版本稳定性和使用效率。
本文将为大家介绍 Apache SeaTunnel(Incubating) 2.2.0-beta 版本更新的具体内容。
-
Release Note: https://github.com/apache/incubator-seatunnel/blob/2.2.0-beta/release-note.md
-
Quick Start 文档:https://seatunnel.apache.org/docs/2.2.0-beta/category/start-v2
主要功能更新
01 Connector API 重构
近期,社区与用户对于 Apache SeaTunnel(Incubating) 支持 Spark 3.x 与 Flink 1.14 的呼声很高,但此前版本的 API 难以同时支持多个引擎版本。为此,社区将 Connector API 进行了重构(下文称为 Connector-V2),与引擎解偶,并统一了连接器参数。
架构演进可参考往期文章:
-
Apache SeaTunnel(Incubating)与计算引擎的解耦之道,重构API我们做了些什么
-
SeaTunnel 连接器V1到V2的架构演进与探究
同时,我们基于 Connector-V2 支持了大量连接器,并适配了 Flink 1.13.x 与 Spark 2.4.x,具体列表如下:
同时支持 Source 与 Sink
目前仅支持 Source
目前仅支持 Sink
02 新增元数据(Catalog)管理功能
此外,2.2.0-beta 版本新增了 Catalog API 和 MySQL Catalog,用于管理和发现元数据。
03 新增统一格式化(Format)功能
为了更好地进行格式化,Apache SeaTunnel(Incubating) 2.2.0-beta 版本还新增了 Format API 和 JSON Format,用于非结构化、半结构化连接器对数据进行格式化。
具体功能更新:
-
支持 MySQL 元数据管理 #2042
-
支持 JSON 格式化 #2014
-
支持 Clickhouse 无密码:#2393
-
支持在 Flink 中同时使用多种 Split Transform #2268
-
支持在 Spark 中使用被代理的 Redis Sink #2150
优化项
-
统一解析命令行参数 #2470
-
添加插件下载脚本 #2831
-
优化 License #2798
-
重构 E2E 模块
-
移除连接器的 dist 模块 #2709
-
优化依赖管理 #2606
-
优化 maven shade 打包 #2665
-
升级 Junit4 版本至 5.9.0 #2305
Bug 修复
根据用户的反馈,我们修复了一些使用性问题,比如命令行某些特殊参数解析错误,进一步提高了稳定性。
-
修复命令行变量带有 ‘,’ 时解析错误 #2523
-
修复 Zip 压缩可能写入到错误路径 #2843
-
修复 Spark 数据流被两次获取 #2764
-
修复 Windows 环境文件下进行 E2E 测试报路径异常 #2715
文档更新
根据用户的反馈,我们修复了一些文档问题,并添加了部分引导文档,使用户或贡献者可以更快上手 Apache SeaTunnel(Incubating)。
-
修复 Kafka 文档参数错误 #2863
-
修复 JDBC 文档参数默认值错误 #2776
-
修复 Flink SQL连接器中ES文档的单词错误 #2634
-
添加 checkstyle 插件在 SeaTunnel 中的使用引导 #2535
-
添加贡献者在更新/新增第三方依赖时的 License 处理引导 #2494
总结和展望
作为一个 Apache 孵化项目,SeaTunnel 社区迅速发展,这得益于开源社区所有贡献者们的无私贡献和开源布道, 更离不开广大 SeaTunnel 用户群体的积极反馈。作为 Connector API 重构后的第一个 beta 版本,SeaTunnel 社区期待大家积极试用并给与反馈。为了更好地进行开源社区建设,在 SeaTunnel 社区接下来的社区规划中,将主要聚焦四个方向:
扩大与完善 Connector & Catalog 生态,支持更多 Connector & Catalog,如 TiDB、Doris、Stripe 等,并完善现有的连接器,提高其可用性与性能等;
- 支持 CDC 连接器,用于支持实时增量同步场景。
对连接器感兴趣的同学可以关注该 Umbrella:https://github.com/apache/incubator-seatunnel/issues/1946
- 支持引擎的更多版本
如 Spark 3.x、Flink 1.14.x 等
对支持 Spark 3.3 感兴趣的同学可以关注该 PR:https://github.com/apache/incubator-seatunnel/pull/2574
- 支持更多数据集成场景 (SeaTunnel Engine)
用于解决整库同步、表结构变更同步、任务失败影响粒度大等现有引擎不能解决的痛点。
对engine感兴趣的同学可以关注该 Umbrella:https://github.com/apache/incubator-seatunnel/issues/2272
- 更简单易用(SeaTunnel Web)
提供 Web 界面以 DAG/SQL 等方式使操作更简单,更加直观地展示 Catalog、Connector、Job 等;
接入调度平台,使任务管理更简单。
对 Web 感兴趣的同学可以关注我们的 Web 子项目:https://github.com/apache/incubator-seatunnel-web
致谢
感谢所有为该版本做出贡献的 41 位社区贡献者,正是大家的付出与努力,让我们能够快速推出这个版本,也欢迎更多的同学参与到 Apache SeaTunnel(Incubating) 社区贡献中。
完整贡献者列表
GitHub ID 按字母排序
Apache SeaTunnel
// 保持联络//
微信号 : Seatunnel
来,和社区一同成长!
Apache SeaTunnel(Incubating) 是一个分布式、高性能、易扩展、用于海量数据(离线&实时)同步和转化的数据集成平台。
**仓库地址: **
https://github.com/apache/incubator-seatunnel
网址:
Proposal:
https://cwiki.apache.org/confluence/display/INCUBATOR/SeaTunnelProposal
Apache SeaTunnel(Incubating) 2.1.0 下载地址:
https://seatunnel.apache.org/download
衷心欢迎更多人加入!
能够进入 Apache 孵化器,SeaTunnel(原 Waterdrop) 新的路程才刚刚开始,但社区的发展壮大需要更多人的加入。我们相信,在**「Community Over Code」(社区大于代码)、「Open and Cooperation」(开放协作)、「Meritocracy」**(精英管理)、以及「**多样性与共识决策」**等 The Apache Way 的指引下,我们将迎来更加多元化和包容的社区生态,共建开源精神带来的技术进步!
我们诚邀各位有志于让本土开源立足全球的伙伴加入 SeaTunnel 贡献者大家庭,一起共建开源!
提交问题和建议:
https://github.com/apache/incubator-seatunnel/issues
贡献代码:
https://github.com/apache/incubator-seatunnel/pulls
**订阅社区开发邮件列表 : **
dev-subscribe@seatunnel.apache.org
开发邮件列表:
加入 Slack:
https://join.slack.com/t/apacheseatunnel/shared_invite/zt-1cmonqu2q-ljomD6bY1PQ~oOzfbxxXWQ
**关注 Twitter: **