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 版本更新的具体内容。

主要功能更新

01 Connector API 重构

近期,社区与用户对于 Apache SeaTunnel(Incubating)  支持 Spark 3.x 与 Flink 1.14 的呼声很高,但此前版本的 API 难以同时支持多个引擎版本。为此,社区将 Connector API 进行了重构(下文称为 Connector-V2),与引擎解偶,并统一了连接器参数。

Apache SeaTunnel(Incubating) 2.2.0-beta 版本发布!API 重构,连接器与引擎解偶_第1张图片

架构演进可参考往期文章:

  • Apache SeaTunnel(Incubating)与计算引擎的解耦之道,重构API我们做了些什么
  • SeaTunnel 连接器V1到V2的架构演进与探究

同时,我们基于 Connector-V2 支持了大量连接器,并适配了 Flink 1.13.x 与 Spark 2.4.x,具体列表如下:

同时支持 Source 与 Sink

Apache SeaTunnel(Incubating) 2.2.0-beta 版本发布!API 重构,连接器与引擎解偶_第2张图片

目前仅支持 Source

目前仅支持 Sink

Apache SeaTunnel(Incubating) 2.2.0-beta 版本发布!API 重构,连接器与引擎解偶_第3张图片

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/inc...

  • 支持引擎的更多版本

如 Spark 3.x、Flink 1.14.x 等

对支持 Spark 3.3 感兴趣的同学可以关注该 PR:https://github.com/apache/inc...

  • 支持更多数据集成场景 (SeaTunnel Engine)

用于解决整库同步、表结构变更同步、任务失败影响粒度大等现有引擎不能解决的痛点。

对engine感兴趣的同学可以关注该 Umbrella:https://github.com/apache/inc...

  • ​更简单易用(SeaTunnel Web)

提供 Web 界面以 DAG/SQL 等方式使操作更简单,更加直观地展示 Catalog、Connector、Job 等;

接入调度平台,使任务管理更简单。

对 Web 感兴趣的同学可以关注我们的 Web 子项目:https://github.com/apache/inc...

致谢

感谢所有为该版本做出贡献的 41 位社区贡献者,正是大家的付出与努力,让我们能够快速推出这个版本,也欢迎更多的同学参与到 Apache SeaTunnel(Incubating) 社区贡献中。

完整贡献者列表

GitHub ID 按字母排序

Apache SeaTunnel(Incubating) 2.2.0-beta 版本发布!API 重构,连接器与引擎解偶_第4张图片

Apache SeaTunnel

//  保持联络//

微信号 : Seatunnel

来,和社区一同成长!

Apache SeaTunnel(Incubating) 是一个分布式、高性能、易扩展、用于海量数据(离线&实时)同步和转化的数据集成平台。

仓库地址: 

https://github.com/apache/inc...

网址:

https://seatunnel.apache.org/

Proposal:

https://cwiki.apache.org/conf...

Apache SeaTunnel(Incubating) 2.1.0 下载地址:

https://seatunnel.apache.org/...

衷心欢迎更多人加入!

能够进入 Apache 孵化器,SeaTunnel(原 Waterdrop) 新的路程才刚刚开始,但社区的发展壮大需要更多人的加入。我们相信,在「Community Over Code」(社区大于代码)、「Open and Cooperation」(开放协作)、「Meritocracy」(精英管理)、以及「多样性与共识决策」等 The Apache Way 的指引下,我们将迎来更加多元化和包容的社区生态,共建开源精神带来的技术进步!

我们诚邀各位有志于让本土开源立足全球的伙伴加入 SeaTunnel 贡献者大家庭,一起共建开源!

提交问题和建议:

https://github.com/apache/inc...

贡献代码:

https://github.com/apache/inc...

订阅社区开发邮件列表 : 

[email protected]

开发邮件列表:

[email protected]

加入 Slack:

https://join.slack.com/t/apac...

关注 Twitter: 

https://twitter.com/ASFSeaTunne

你可能感兴趣的:(Apache SeaTunnel(Incubating) 2.2.0-beta 版本发布!API 重构,连接器与引擎解偶)