Apache SeaTunnel 正式发布2.3.5版本,功能增强及多个Bug修复

经过两个月的筹备,我们在2.3.4版本基础上进行了新一轮的迭代,本次更新不仅修复了多个关键问题,还引入了若干重要功能增强和性能优化。

file

在此,我们先提前感谢社区成员的贡献和支持,如果你想升级最新的版本,快跟我们一起来看看这次更新的亮点吧!

Release Note:https://github.com/apache/seatunnel/releases/tag/2.3.5

下载地址:https://seatunnel.apache.org/download/

主要新功能

支持作业事件通知功能,在此基础上支持实时CDC数据数据延迟事件通知(https://github.com/apache/seatunnel/pull/6634) 用户可以自定义通知消息发送的目标端,这样一旦实时同步数据发延迟,用户就会收到消息。

文件类型的连接器,支持定义读取和写入时使用的字符编码,这在源端和目标端使用不同的字符编码时非常有用。

优化了Postgres CDC创建publication的逻辑,在这个优化之前,添加Postgres CDC的表时创建的publication的范围是ALL_TABLES,这会导致即使只同步少数的几张表也会创建一个针对所有表的发布,会造成PG WAL的无效增长。社区优化了publication的创建逻辑,只针对需要同步的表创建publication,这极大的减小了WAL增长的范围,提交了稳定性。

Zeta引擎支持设置任务的失败重试次数。之前Zeta引擎任务失败会自动重试3次,但有些场景下我们可能希望一但有错任务立即终止,由外部调度系统来进行重试。从2.3.5版本开始,用户可以通过在env中设置job.retry.times = 0来关闭自动重试。

关键Bugfix

Zeta引擎支持classloader cache功能,如果连接器已经加载到jvm中,Zeta引擎会缓存该classloader,下次再提交该种连接器对应的任务会使用缓存的classloader不再创建新的classloader,这种方式解决了提交大量任务时Zeta JVM metaspace内存增长的问题,解决了metaspace内存溢出的bug。

修复了SQL Transform精度丢失的问题,比如timestamp类型的字段可以保留之前的精度信息。

Bug fix

Core

  • [fix] 修复获取 SeaTunnel 空指针异常问题 (#6681)
  • [Hotfix] 解决默认表格问题 (#6352)
  • [Chore] 修正文件拼写错误 (#6606)
  • [BugFix][Spark-translation] 修复映射类型转换错误 (#6552)
  • [Hotfix] 修复 Spark 示例问题 (#6486)
  • [Hotfix] 解决编译错误 (#6463)

Transformer

  • [Fix][SQLTransform] 修复 SQL 转换中的精度丢失问题 (#6553)
  • [Bug] 修复 SQLTransform 中的负常量错误 (#6533)

Connectors

  • [Fix][Kafka-Sink] 修复 Kafka Sink端选项规则 (#6657)
  • [Hotfix] 修复 HTTP 源无法正确读取 'yyyy-MM-dd HH:mm:ss' 格式并优化日期时间工具 (#6601)
  • [Bug] 修复 OrcWriteStrategy/ParquetWriteStrategy 在 Kerberos 登录时的问题 (#6472)
  • [Fix][Doc] 修正 FTP Sink端配置中的 'username' 键为 'user' (#6627)
  • [E2E] 修复 Amazon DynamoDB 集成测试的不稳定问题 (#6640)
  • [Fix][Connector-V2] 当分区已存在时修正添加 Hive 分区的错误 (#6577)
  • [Fix][Connector-V2] 修正 Doris/StarRocks 创建表 SQL 解析错误 (#6580)
  • [Fix][Connector-V2] 修复 Doris Sink端在流加载未读取任何数据时不能关闭的问题 (#6570)
  • [Fix][Connector-V2] 修复连接器支持 SPI 但缺少无参构造器的问题 (#6551)
  • [Fix][Connector-V2] 修复 Doris 源选择字段丢失主键信息 (#6339)
  • [Fix][FakeSource] 修复模板随机生成不包含最新值的问题 (#6438)
  • [Fix][Connector-V2] 修复 MongoDB CDC 启动模式选项值错误 (#6338)
  • [BugFix][Connector-file-sftp] 修复 SFTPInputStream.close 未正确触发文件流关闭的问题 (#6323) (#6329)
  • [Fix] 修复 Doris 流加载失败未报告错误的问题 (#6315)
  • [fix][connector-rocketmq] 修复当 checkpoint.interval 设置过小导致的空指针异常问题 (#6624)
  • [Bugfix][TDengine] 修复因多次调用提交作业 REST API 导致驱动丢失的问题 #6581 (#6596)
  • [Fix][StarRocks] 修复上游 catalogtable 表路径仅有表名部分时的空指针异常 (#6540)

Formats

  • [Bug] [formats] 修复内容包含文件分隔符时无法解析行的问题 (#6589)

Zeta(ST-Engine)

  • [Hotfix] 修复 HTTP 源无法正确读取 'yyyy-MM-dd HH:mm:ss' 格式并优化日期时间工具 (#6601)
  • [Fix][Zeta] 修复因保存点检查机制引起的线程卡死问题 (#6568)
  • [Fix][Zeta] 改进本地模式下的 Hazelcast 连接 (#6521)
  • [Fix][Zeta] 修复在使用缓存模式时线程类加载器被设置为 null 的问题 (#6509)
  • [Bug] [zeta] 修复提交作业时的空指针异常 (#6492)
  • [bugfix] [Zeta] 修复使用 REST API 提交作业时类加载器未释放的问题
  • [BUG][Zeta] 工作名称显示错误 #6470
  • [Hotfix][Zeta] 修复模式变更时的作业死锁 (#6389)

E2E

  • [E2E] 启用 StarRocksCDCSinkIT (#6626)

Improve

  • [Doc][Improve] 增加 seatunnel-engine 中文支持 (#6656)
  • [Doc][Improve] 为 start-v2/locally/quick-start-flink.md 和 start-v2/locally/quick-start-spark.md 增加中文支持 (#6412)
  • [Improve] 为 IDEA 添加图标 (#6394)
  • [Improve] 为 ReadonlyConfig::toConfig 添加过时注释 (#6353)
  • [Improve][RestAPI] 调用 getJobInfoById API 时始终返回 jobId (#6422)
  • [Improve][RestAPI] 当作业完成时返回已完成的作业信息 (#6576)
  • [Improve] 提升 MultiTableSinkWriter 准备提交性能 (#6495)
  • [Improve] 增加保存模式的处理细节日志 (#6375)
  • [Improve][API] 统一数据和类型系统 API (#5872)
  • [Improve] 优化使用 Parquet 读取时的类型转换错误 (#6683)
  • [Improve][Connector-V2] 支持 Redis 的多表汇出功能 (#6314)
  • [Improve][Connector-V2] 优化 Oracle CDC 端到端测试 (#6232)
  • [Improve][Connector-V2] 支持 HTTP Sink端的多表功能 (#6316)
  • [Improve][Connector-V2] 支持 INFINI Easysearch (#5933)
  • [Improve][Connector-V2] 支持 Hadoop HA 和 Kerberos 的 Paimon Sink端 (#6585)
  • [Improve][CDC-Connector] 修复 CDC 选项规则 (#6454)
  • [Improve][CDC] 优化快照分割读取时的内存分配 (#6281)
  • [Improve][Connector-V2] 在 StarRocks 上支持 TableSourceFactory (#6498)
  • [Improve][Jdbc] 使用 varchar2 数据类型在 Oracle 中存储字符串 (#6392)
  • [Improve] StarRocksSourceReader 使用现有客户端 (#6480)
  • [Improve][JDBC] 优化获取 JDBC 字段类型的代码风格 (#6583)
  • [Improve][Connector-V2] 增加 ElasticSearch 类型转换器 (#6546)
  • [Improve][Connector-V2] 支持使用架构配置读取 ORC 并进行类型转换 (#6531)
  • [Improve][Jdbc] 支持大门数据库的自定义大小写敏感配置 (#6510)
  • [Improve][Jdbc] 自动创建表时增加类型转换器 (#6617)
  • [Improve][CDC] 优化增量阶段的分割状态内存分配 (#6554)
  • [Improve][CDC] 优化记录中不包含架构字段时的读取性能 (#6571)
  • [Improve][Jdbc] 为 SQL 添加引用标识符 (#6669)
  • [Improve] 在 SelectDB 云Sink端禁用 2PC (#6266)
  • [Doc][Improve] 为 Kafka 连接器增加 Kerberos 认证支持 #6653

CI

  • [CI] 修复 CI 配置文件中仓库名称的错误 (#4795)

Zeta(ST-Engine)

  • [Improve][Zeta] 增加类加载器缓存模式以修复元空间泄漏 (#6355)
  • [Improve][Test] 修复 ResourceManager 和 EventReport 模块测试不稳定的问题 (#6620)
  • [Improve][Test] 代码合并到开发分支时运行所有测试 (#6609)
  • [Improve][Test] 使类加载器缓存测试更稳定 (#6597)
  • [Improve][Zeta][storage] 更新 HDFS 配置,支持更多参数 (#6547)
  • [Improve][Zeta] 优化 RestHttpGetCommandProcessor#getSeaTunnelServer() 的逻辑 (#6666)

Transformer

  • [Improve][Transform] Sql transform 支持内部结构查询 (#6484)
  • [Improve][Transform] 解析转换过程中移除后备操作 (#6644)
  • [Improve][Transform] 移除找不到字段的异常 (#6691)

Feature

  • [Feature][Tool] 增加连接器检查脚本,解决问题 #6199 (#6635)
  • [Feature][Core] 支持在 CDC 源监听消息延迟事件 (#6634)
  • [Feature][Core] 支持作业事件监听 (#6419)
  • [Feature][connector-v2] 添加 XuguDB 连接器 (#6561)
  • [Feature][Connector-V2] 支持 Paimon 的多表汇出功能 #5652 (#6449)
  • [Feature][Connectors-V2][File] 支持为文件源/Sink端指定编码 (#6489)
  • [Feature][Connector] 更新 PgSQL-CDC 发布以添加表 (#6309)
  • [Feature][Paimon] 支持指定 Paimon 表写入属性、分区键和主键 (#6535)
  • [Feature][Feature] 支持 Doris DateTimeV2 类型的 (#6358)
  • [Feature][Feature] 支持 SelectDB DateTimeV2 类型的 (#6332)
  • [Feature][Feature] 支持 Iceberg Sink连接器 #6198 (#6265)

Zeta(ST-Engine)

  • [Zeta] 支持在作业配置中设置作业重试次数 (#6690)

Docs

  • [Docs] 修复 kafka 格式的拼写错误 (#6633)
  • [Fix][Doc] 修正一些文档中的链接 (#6673)
  • [Fix][Doc] 修正一些拼写错误 (#6628)
  • [Fix][Doc] 修正 StarRocks Sink端文档中的排版错误 (#6579)
  • [Hotfix][Doc][Chinese] 修复关于配置日志相关参数的无效链接 (#6442)
  • [Fix][Doc] 修正 Seatunnel Engine/checkpoint-storage.md 文档错误 (#6369)

贡献者名单

感谢所有为2.3.5版本做出贡献的社区成员,包括代码贡献者、文档撰写者和测试人员。Apache SeaTunnel的成功离不开每一个人的努力!

JetiaimeLeonYoahTyrantLucifer
ponxuEricJoy2048sunxiaojian
xiaochen-zhouCosmosNilightzhao
baicieHisoka-Xgitfortian
hailin0ruanwenjunshangeyao
corgy-wliunaijiedailai
taohaozhi1129LeonYoahnianhua99
xxzuoYalikWang

本文由 白鲸开源科技 提供发布支持!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3017818.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Grotesque系列靶机Grotesque1

第一步信息收集: 靶机ip:192.168.108.131 攻击机IP:192.168.108.128 nmap扫描靶机的可用端口: 发现http服务的端口存在66端口和80端口 扫描一下靶机端口的http服务: 可以看到,默认的80端口是不存在的&am…

某制造公司屋顶分布式光伏发电案例分享--分布式光伏电力监控系统解决方案

安科瑞薛瑶瑶18701709087/17343930412 ★分布式光伏监控系统 分布式光伏监控电力系统遵循安全可靠、经济合理原则,满足电力系统自动化总体规划要求,且充分考虑光伏发电的因素,对分布式光伏发电、用电进行集中监控、统一调度、统一运维、满足…

人工神经网络初步

大家好,这里是七七,由于各种比赛的缘故,使用了很多人工神经网络模型。但是很多的原理都不是很明白,就导致了不能灵活地运用┭┮﹏┭┮。为此,去看了些人工神经网络原理书,写下此专题。 在进入正文之前要先…

六西格玛项目的核心要素:理论学习、实践应用与项目经验

许多朋友担心,没有项目经验是否就意味着无法考取六西格玛证书。针对这一疑问,张驰咨询为大家详细解答。 首先,需要明确的是,六西格玛项目不仅仅是一种管理工具或方法,更是一种追求卓越、持续改进的思维方式。它强调通…

Pycharm导入自定义模块报红

文章目录 Pycharm导入自定义模块报红1.问题描述2.解决办法 Pycharm导入自定义模块报红 1.问题描述 Pycharm 导入自定义模块报红,出现红色下划线。 2.解决办法 打开【File】->【Setting】->【Build,Execution,Deployment】->【Console】->【Python Con…

【机器学习】自然语言引导下的单目深度估计:泛化能力与鲁棒性的新挑战

自然语言引导下的单目深度估计:泛化能力与鲁棒性的新挑战 一、自然语言引导下的单目深度估计进展二、泛化能力与鲁棒性的挑战三、评估方法与实验验证四、代码实例与未来展望 在人工智能领域,单目深度估计一直是一个备受关注的热点问题。通过单张图片推断…

优立科技:从数字孪生到元宇宙

2021年10月,Facebook致力于发展元宇宙,并更名为Meta。加上此前Roblox上市的消息,让「元宇宙」一词迅速在2021年爆火,刺激了VR、游戏等相关产业的发展,甚至有人宣称2021年为「元宇宙『元年』」。然而,「元年…

c#教程——索引器

前言: 索引器(Indexer)可以像操作数组一样来访问对象的元素。它允许你使用索引来访问对象中的元素,就像使用数组索引一样。在C#中,索引器的定义方式类似于属性,但具有类似数组的访问方式。 索引器&#x…

mysql 离线安装

package download mysql https://dev.mysql.com/downloads/mysql/ libaio http://mirror.centos.org/centos/7/os/x86_64/Packages/libaio-0.3.109-13.el7.x86_64.rpm 根据自己服务器选择下载对应的安装包及依赖 删除本机自带mysql相关 # 首先排查服务器自身是否有安装对应m…

Promise魔鬼面试题

文章目录 题目解析难点分析分析输出step1step2step3step4step5step6 参考/致谢:渡一袁老师 题目 Promise.resolve().then(() > {console.log(0);return Promise.resolve(4);}).then((res) > {console.log(res);});Promise.resolve().then(() > {console.l…

【BUUCTF】Crypto_RSA(铜锁/openssl使用系列)

【BUUCTF】Crypto_RSA(铜锁/openssl使用系列) 1、题目 在一次RSA密钥对生成中,假设p473398607161,q4511491,e17 求解出d作为flga提交 2、解析 RSA加密过程: 1)选择素数:选择两个不…

【管理咨询宝藏93】大型制造集团数字化转型设计方案

【管理咨询宝藏93】大型制造集团数字化转型设计方案 【格式】PDF版本 【关键词】国际咨询公司、制造型企业转型、数字化转型 【核心观点】 - 235页大型制造型集团数字化转型方案设计!细节非常详尽,图表丰富! - 系统架构必须采用成熟、具有国…

docker资源限额

多数的应⽤场景要对Docker容器的运⾏内存进⾏限制,防⽌其使⽤过多的内存。 格式:-m或--memory 正常的内存大小 [rootadmin ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS …

SpringBoot过滤器简单构建详细教程以及与拦截器区别解释

作用范围:过滤器基于Servlet规范,作用于更广泛的层面,不仅限于Spring MVC,它可以拦截进入Web应用的所有请求,包括静态资源请求。过滤器可以对请求和响应的内容进行预处理和后处理。实现方式:过滤器需要实现…

Java初识继承

继承 文章目录 继承为什么需要继承继承中变量的访问特点继承中方法的访问特点继承的优缺点 概念:在Java中,继承是面向对象编程的一个基本特性。它允许我们定义一个新类,它从另一个已经存在的类继承其属性和方法。被继承的类称为父类或超类,新…

牛客NC142 最长重复子串【中等 字符串 Java/Go】

题目 题目链接: https://www.nowcoder.com/practice/4fe306a84f084c249e4afad5edf889cc 思路 注意:题目给的时间复杂度是O(N^2)那么直接套用双重循环:外层循环i为假定起始重复子串的初始位置,内层循环的j为假定重复子串的结束位置…

Mac 链接 HP 136w 打印机步骤

打开 WI-FI 【1】打开打印机左下角Wi-Fi网络设计【或者点击…按钮进入WI-FI菜单】,找到NetWork选项OK进入; 【2】设置WI-FI选项:在菜单内找到Wi-Fi选项OK进入; 【3】在菜单内找到Wi-Fi Direct选项OK进入; 【4】在菜单…

(论文阅读-分析引擎)Modin

一、简介 目标是在不改变的Dataframe语义的情况下支持可扩展的dataframe操作。 什么是机会主义评价?Opportunistic Evaluation? Exploratory data analysis(EDA):总结、理解并从数据集中获取价值的过程。 MPI&#…

【知识点随笔分享 | 第十篇】快速介绍一致性Hash算法

前言: 在分布式系统中,数据的分布和负载均衡是至关重要的问题。一致性哈希算法是一种解决这些挑战的有效工具,它在分布式存储、负载均衡和缓存系统等领域得到了广泛应用。 随着互联网规模的不断扩大,传统的哈希算法在面对大规模…

PY32MD310单片机介绍,非常适合做三相/单相 BLDC/PMSM主控

PY32MD310 单片机采用了高性能的 32 位 ARM Cortex-M0 内核,嵌入高达 64 Kbytes flash 和 8 Kbytes SRAM 存储器,最高工作频率 48 MHz。芯片内置多功能三相 PN 型半桥式栅极驱动器,片内集成多路 I2C、SPI、USART 等通讯外设,1 路 …