版本更新
今天,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 与计算引擎的解耦之道,重构 API 我们做了些什么
SeaTunnel 连接器 V1 到 V2 的架构演进与探究
同时,我们基于 Connector-V2 支持了大量连接器,并适配了 Flink 1.13.x 与 Spark 2.4.x,具体列表如下:
同时支持 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 等,并完善现有的连接器,提高其可用性与性能等;