2.3.6 版本发布!Apache SeaTunnel Zeta 引擎迎来新架构!


Apache SeaTunnel 2.3.6 版本于近日正式发布,社区期待的 SeaTunnel Zeta Master/Worker 新架构、事件通知机制、支持动态编译的transform等新功能和新能力在这次版本中都有了全面的更新,并添加了首个向量数据库 Milvus。此外,本版本还进行了一些基础性的 Bug 修复和文档修复等,欢迎尝试使用!

📥 2.3.6 版本下载:https://seatunnel.apache.org/download/

📖 Release Note:https://github.com/apache/seatunnel/blob/2.3.6/release-note.md

重点更新

SeaTunnel Zeta Master/Worker 新架构

首先是实现 SeaTunnel Zeta Master/Work 新架构。在 SeaTunnel 当前的架构里是不分 Master 和 Worker 角色的,所有节点既是 Master 又是 Worker、SeaTunnel会从这些Master节点中选择一个节点,将其作为 active 的 Master 节点,其他 Master 节点作为 standby 节点。下面是 SeaTunnel 集群的分布式内存网格,就是在各个节点之间可以向 HashMap 里导入数据,HashMap 就会分散在集群的所有节点中,并有副本。Flink 等工具会把任务的状态信息存在 Zk 等三方系统中。

而 SeaTunnel Zeta 不需要三方系统,其内部自带的分布式内存网格就可以存储作业的状态信息。任何节点进程异常退出,都会去重新分布内存网格里面的数据,保证作业在另外的节点去进行容错恢复时能够找到之前的状态。这样的架构存在一个问题,当 Master/Worker 在一起的时候,一旦集群的负载比较高,假设一个 active Master 的节点进程异常退出,它会容错在新的节点上,在容错的过程中,因为 Master 节点进程异常退出,所有的任务都要重新进行容错,这就可能导致新的 Master 节点上的 Worker 节点高负载,这可能又会使新的 Master 进程异常退出。

为了解决这个问题,我们开发了新的架构,将 Master 和 Worker 分开部署,Master 上只存储数据和调度任务,Work 节点只进行任务的执行和资源的提供。这样整个 SeaTunnel 中节点的角色就分为 Master、Worker,master_and_worker 三种,用户可以根据需求去使用。

支持使用SQL的方式创建SeaTunnel任务

第二个是支持使用 SQL 的方式去创建 SeaTunnel 任务。之前 SeaTunnel 的任务创建是使用 HOCON 的文件格式,而 2.3.6 版本支持使用 SQL 的方式创建任务。用户可以 创建一张 Source 表,一张 Sink 表,最终通过 insert into 语句,从 Source 表里面查数据,同步到目标表。

Zeta CDC同步释放空闲的Reader

第三个是新增了 Zeta CDC 同步释放空闲 Reader 的功能。在 CDC 全量阶段,为了加快同步的速度,会并行地开很多 Reader 进行数据的读取和写入。但是当进入到解析 binlog 进行增量同步的阶段,读取只能是单线程的,因为 binlog 是有序的,不能把顺序打乱。此时,前面的四个 Reader 和 Writer 其实就没有任何的数据流了。在 2.3.6 版本中,Apache SeaTunnel 会释放之前的资源,把里面的 JDBC 资源、内存的资源等全部释放,保证尽量占用更少的空间同步更多的数据,支持更大规模任务的运行。针对单个 Writer 写入较慢的问题,可以在 Writer 里设置 Writer 的线程数。这样,读是单线程,而写又是多线程并行的写入。因为读文件解析速度较快,单个作业能够达到每秒三十多兆的写入速度。如果写入遇到困难,Writer 端也支持设置并行度。

支持事件通知机制

支持事件通知机制,通过这些 API,可以将 Zeta 引擎里面产生的事件,比如作业成功或失败,或者 DDL 变更信息通过请求发送到其他的系统中去。

添加向量数据库Milvus支持

向量数据库可加速 AI 应用程序的开发,并简化由人工智能驱动的应用程序工作负载的运作,已成为大模型时代的得力助手。为更好地支持 AI 开发,Apache SeaTunnel 2.3.6 版本添加了对向量数据库 Milvus 的支持。这是 Apache SeaTunnel 支持的首个向量数据库,后续将扩展对其他向量数据库的支持。

支持动态编译的transform

Apache SeaTunnel 2.3.6 版本提供一种可编程的方式来处理行,允许用户根据现有行字段作为参数自定义任何业务行为,甚至基于现有行字段作为参数的RPC请求,或者通过从其他数据源检索相关数据来扩展字段。为了区分业务,用户还可以定义多个转换来进行组合,更加高效和灵活地适配业务场景。

详情请查看https://seatunnel.apache.org/docs/2.3.6/transform-v2/dynamic-compile

资源隔离

通过对任务节点添加tag标签的方式来进行集群资源的区分,帮助用户更加合理地规划集群任务的调度。

资源隔离示意图

关于资源隔离详情和实现方法请查看 https://seatunnel.apache.org/docs/2.3.6/seatunnel-engine/resource-isolation

Sink统一支持table/database等通配符使用

新版本还提供了一个接收选项通配符功能, 通过通配符可以获取上游表格元数据。当用户需要动态获取上游表格元数据(例如多表写入)时,这个功能非常重要,可以帮用户更加方便和统一地实现多表配置方式,降低多表配置的难度。

查看文档了解如何使用此功能:https://seatunnel.apache.org/docs/2.3.6/concept/sink-options-placeholders

其他

此外,Apache SeaTunnel 2.3.6 版本还实现了 Spark/Flink引擎下的用户自定义参数功能,新增 Hudi Sink 等多个 Connector 支持,Transform 和 Zeta Engine也进行了众多更新,并修复了文档遗留问题。

详情可查看Release Note: https://github.com/apache/seatunnel/blob/2.3.6/release-note.md

致谢

感谢@Hisoka-X主导本次发版工作,感谢以下贡献者对本次发版的支持(排名不分先后):

Assert, Asura7969, Carl-Zhou-CN, ChunFuWu, Coen, CosmosNi, Dongyeon Lee, Eric, Felix, Feng Ruohang, FuYouJ, Guangdong Liu, JackeyLee007, Jarvis, Jast, Jia Fan, Kim, Leon Yoah, Marvin, THZ, TaoZex, TeAmo, Thomas-HuWei, Tyrantlucifer, Wenjun Ruan, Wudadada, XiaoMaYi, Xiaojian Sun, Xuzz, YalikWang, ZhiLin Li, Zhihong Pan, ZhilinLi, bingquanzhao, corgy-w, dailai, fcb-xiaobo, gitfortian, hailin0, halo.kim, hawk9821, hilo, ic4y, latch890727, lightzhao, litiliu, lizhenglei, ponxu, rtyuy, seckiller, tcodehuber, useheart, xiaochen, zhangdonghao, zhiwei liu, zuo, 老王, 不忘初心, 狂野之驴


相關推薦

2023-08-30

,聊聊 AI 大模型与底层技术 >>> 时隔两个月, Apache SeaTunnel 终于迎来大版本更新。此次发布的 2.3.3 版本在功能和性能上均有较大优化改进,其中大家期待已久的 CDC Schema evolution(DDL 变更同步)、主键 Split 拆分、JDBC Sink 自

2023-05-18

了基于 3.1.5 版本进行了 bug 修复、Doc 完善外, 还进行了 SeaTunnel Zeta 引擎的支持。   其中较为重要的为: 修复依赖任务不正确的超时警报 #13822 修复替换时间变量参数 #13975 修复流程实例 DAG 无法显示依赖任务的问

2023-03-30

SeaTunnel 2.3.1 版本于近日发布,这是一次备受瞩目的重磅发布,有多项重要功能更新和优化。 在编程使用体验层面上,新版本提升了 SeaTunnel Zeta 稳定性,并提升了 CI/CD 的稳定性;在连接器层面上,新版本实现了 7+ 个新连接器

2023-01-06

️ Star · 照亮开源之路 https://github.com/apache/incubator-seatunnel 版本发布 今天,Apache SeaTunnel(incubating) 正式推出 2.3.0 正式版本,并正式发布自己的核心同步引擎 Zeta!此外,SeaTunnel 2.3.0 还带来了许多大家期待已久的新特性,

2024-10-16

Apache SeaTunnel 2.3.8 版本现已正式发布!此次版本后,用户将可以使用期待已久的Docker镜像,还可以体验Job级别日志功能,以及其他更新优化的功能。本文将详细介绍 Apache SeaTunnel 2.3.8 版本中的关键更新内容,欢迎更多开发者和

2024-07-02

详情。 WhaleTunnel WhaleTunnel是基于白鲸开源主导的Apache SeaTunnel之上精心打磨的商业级的数据集成工具,拥有数据传输速度快、准确率高、稳定性强等技术特点,帮助企业完成内部EtLT中数据集成EtL部分,支持百余种连接器类型,

2023-02-03

k、Python、Sqoop、OpenLooKeng、Presto、Trino、ElasticSearch、JDBC、SeaTunnel 和 Shell 等; 丰富的语言支持:SparkSQL、HiveQL、Python、Shell、Pyspark、Scala、JSON 和 JAVA 等; 强大的计算治理能力:能够提供基于多级标签的任务路由、负载均衡

2023-05-27

已超过1500万行。社区坚持技术创新,如期发布了7个社区版本,多家社区伙伴基于openGauss推出的数据库商业发行版,广泛应用于政府、金融、运营商、电力、制造、医疗等十大重点行业的核心场景,2023年openGauss在非云集中式场景

2023-09-15

thub.com/devlive-community/openai-java-sdk 该版本着重支持 Apache Seatunnel 作为流水线支持框架 DataCap 已发布 发布版本 发布时间 1.14.0 2023-09-14 General 修复数据源检查任务返回空的问题 添加验证码 支持登

2023-09-05

发阶段,当然我们在 1.14.0 版中着重推出了基于 Apache Seatunnel 的中台功能,用于数据的摄取。同时我们开放了高度可定制化的配置项,用户可以通过自定义配置用于适配 Seatunnel 的各版本或者其他的新功能。话不多说,上图:

2023-07-05

小伙伴们,我们很高兴地向大家宣布,Apache Doris 2.0-beta 版本已于 2023 年 7 月 3 日正式发布!在 2.0-beta 版本中有超过 255 位贡献者为 Apache Doris 提交了超过 3500 个优化与修复,欢迎大家下载使用! 下载链接:https://doris.apache.org/

2024-10-18

们很高兴地向大家宣布,在近期我们迎来了 Apache Doris 3.0 版本的正式发布,欢迎大家下载使用体验! 从 3.0 系列版本开始,Apache Doris 开始支持存算分离模式,用户可以在集群部署时选择采用存算一体模式或存算分离模式。基于

2023-03-10

流调度和执行问题,2018 年以 Apache License 2.0 的开源协议发布,并在社区中获得大力支持。目前,Apache DolphinScheduler 项目在 GitHub 上已获得 10K Star,拥有 400+ 贡献者,累积发版 40+ ,Fork 3.7K ,Pull Request 接近 7000 ,并已应用于 3000+

2023-01-04

高兴地宣布,Apache Doris 于 2023 年1 月 4 日迎来 1.2.1 Release 版本的正式发布!在新版本中,Apache Doris 团队修复了自 1.2.0 版本发布以来约 200 个问题或性能改进项。同时,1.2.1 版本作为 1.2 LTS 的第一个迭代版本,具备更高的稳定性