暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

SeaTunnel 2.2.0-beta 版本发布!API 重构,连接器与引擎解偶

SeaTunnel 2022-10-09
1277

 点亮 ⭐️ Star · 照亮开源之路

GitHub:https://github.com/apache/incubator-seatunnel




版本更新

今天,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
  • 下载地址:
    https://seatunnel.apache.org/download
  • Quick Start 文档:
    https://seatunnel.apache.org/docs/2.2.0-beta/category/start-v2

01

主要功能更新


01

Connector API 重构


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


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

同时支持 Source 与 Sink(部分)


ClickHouseHTTPPhoenix
DMIoTDB

PostgreSQL

FileKafkaRedis
FTPKuduSocket
GreenplumMongoDBOSS
HDFSMySQLHive
Hudi



目前仅支持 Source(部分)

FakeSource

Pulsar

Icebreg


目前仅支持 Sink(部分)

AssertSink

ElasticSearchSentry
ConsoleSinkEmailWechat
DatahubFeishuDingTalk
Neo4j


02

新增元数据(Catalog)管理功能


此外,2.2.0-beta 版本新增了 Catalog API 和 MySQL Catalog,用于管理和发现元数据。

03

新增统一格式化(Format)功能


为了更好地进行格式化,Apache SeaTunnel(Incubating) 2.2.0-beta 版本还新增了 Format API 和 JSON Format,用于非结构化、半结构化连接器对数据进行格式化。

具体功能更新:

  • 支持 MySQL 元数据管理 https://github.com/apache/incubator-seatunnel/pull/2042
  • 支持 JSON 格式化 https://github.com/apache/incubator-seatunnel/pull/2014
  • 支持 Clickhouse 无密码 https://github.com/apache/incubator-seatunnel/pull/2393
  • 持在 Flink 中同时使用多种 Split Transform https://github.com/apache/incubator-seatunnel/pull/2268
  • 支持在 Spark 中使用被代理的 Redis Sink https://github.com/apache/incubator-seatunnel/pull/2150

02

优化项


  • 统一解析命令行参数 https://github.com/apache/incubator-seatunnel/pull/2470
  • 添加插件下载脚本 https://github.com/apache/incubator-seatunnel/pull/2831
  • 优化 License https://github.com/apache/incubator-seatunnel/pull/2798
  • 重构 E2E 模块 
  • 移除连接器的 dist 模块 https://github.com/apache/incubator-seatunnel/pull/2709
  • 优化依赖管理 https://github.com/apache/incubator-seatunnel/pull/2606
  • 优化 maven shade 打包 https://github.com/apache/incubator-seatunnel/pull/2665
  • 升级 Junit4 版本至 5.9.0 https://github.com/apache/incubator-seatunnel/pull/2305

03

Bug 修复


根据用户的反馈,我们修复了一些使用性问题,比如命令行某些特殊参数解析错误,进一步提高了稳定性。

  • 修复命令行变量带有 ',' 时解析错误 https://github.com/apache/incubator-seatunnel/pull/2523
  • 修复 Zip 压缩可能写入到错误路径 https://github.com/apache/incubator-seatunnel/pull/2843
  • 修复 Spark 数据流被两次获取 https://github.com/apache/incubator-seatunnel/pull/2764
  • 修复 Windows 环境文件下进行 E2E 测试报路径异 https://github.com/apache/incubator-seatunnel/pull/2715

04

文档更新


根据用户的反馈,我们修复了一些文档问题,并添加了部分引导文档,使用户或贡献者可以更快上手 Apache SeaTunnel(Incubating)。

  • 修复 Kafka 文档参数错误 https://github.com/apache/incubator-seatunnel/pull/2863
  • 修复 JDBC 文档参数默认值错误 https://github.com/apache/incubator-seatunnel/pull/2776
  • 修复 Flink SQL连接器中ES文档的单词错误 https://github.com/apache/incubator-seatunnel/pull/2634
  • 添加 checkstyle 插件在 SeaTunnel 中的使用引导 https://github.com/apache/incubator-seatunnel/pull/2535
  • 添加贡献者在更新/新增第三方依赖时的 License 处理引导 https://github.com/apache/incubator-seatunnel/pull/2494

05

总结和展望


作为一个 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

06

致谢


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

+

完整贡献者列表

GitHub ID 按字母排序

531651225

Bibo 

Bruce Lee

Carl-Zhou-CN

Chris Ho

ChunFu Wu 

Coen,

Eric

Hisoka

Jared Li

Kerwin

Kirs

Laglangyue

Li Hongyu LinZhaoguan Namgung Chan Qishang Zhong Saintyang

TaoZex

TyrantLucifer

chessplay

dijie hailin0 

hk__lrzy 

ic4y 

iture123 

lcyyyyyy 

liugddx 

liuyehan 

luketalent mans2singh 

miaoze8 

qianmoQ 

songjianet 

stormrise 

tiezhu 

xiaofu 

zhangyuge1

巧克力黑

Xiao Zhao

Zongwen Li


Apache SeaTunnel

//  保持联络 //

微信号 : Seatunnel

来,和社区一同成长!

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

仓库地址: 
https://github.com/apache/incubator-seatunnel

网址:
https://seatunnel.apache.org/

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

开发邮件列表:
dev@seatunnel.apache.org

加入 Slack:
https://join.slack.com/t/apacheseatunnel/shared_invite/zt-1cmonqu2q-ljomD6bY1PQ~oOzfbxxXWQ

关注 Twitter: 
https://twitter.com/ASFSeaTunnel

往期推荐



SeaTunnel平台又一生态集成,高性能支持并发读取,解读IoTDB连接器新特性




SeaTunnel 连接器V1到V2的架构演进与探究




从启动到关闭 | SeaTunnel2.1.1源码解析


点个在看你最好看

文章转载自SeaTunnel,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论