Apache SeaTunnel团队自豪地宣布2.3.4版本正式发布!本次更新聚焦于增强核心功能,改善用户体验,并进一步优化文档质量。

此次版本发布带来了多项重要更新和功能增强,包括核心与API的修复、文档的全面优化、Catalog支持的引入,以及多表同步的实现等,旨在为开发者提供更加强大和便捷的数据处理能力。
核心功能一览
文档
- 文档结构统一:我们对文档结构进行了全面优化,使结构更加清晰,便于开发者查找和阅读。
- 增加示例:每个关键特性现在都附带了相应的示例,帮助开发者更好地理解和应用。
- JDBC连接器文档拆分:针对不同数据库的特殊参数,我们对JDBC连接器文档进行了拆分,每个数据库都有专门的文档。
- 设计文档同步到Wiki:为了方便开发者阅读和进行二次开发,我们将设计文档同步到了Wiki。
Catalog支持
重构代码添加了Catalog接口 设计文档: https://cwiki.apache.org/confluence/display/SEATUNNEL/STIP5-Refactor+Catalog+and+CatalogTable
- 获取到的表结构更精确,表结构的自动迁移、转换成为可能。
- 统一CatalogTable的应用,模型推演贯穿整个数据流。
- 多表同步有了实现的构架基础。
多表同步——多表读取
支持在一个Source中配置读取多张表
设计文档:https://cwiki.apache.org/confluence/display/SEATUNNEL/STIP4-JDBC+source+supports+multi-table+reading+in+one+task

多表同步——多表写入
支持在一个Sink多表写入:更省资源(无网络IO开销,JDBC连接数可控)
设计文档:https://cwiki.apache.org/confluence/display/SEATUNNEL/STIP3-Sink+supports+multi-table+in+one+task
- 支持多个表之间JDBC连接共享
- CDC同步场景下,Sink支持单表多线程处理,提升写入性能。
- 支持指定线程数,线程资源更可控

SaveMode
设计文档: https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=263427916

- 已有表结构处理,支持目标表不存在时自动创建。真正的解放两手。
- 已有数据处理,支持删除数据,追加写入
- 自定义SQL(相当于presql功能)


离线同步
基于主键和唯一索引的自动分片,降低使用门槛:无论是离线同步还是CDC同步的历史同步阶段,SeaTunnel都会自动通过catalog获取表结构信息查询表中的主键和唯一索引字段。SeaTunnel会优先使用主键字段进行分片,没有主键字段时使用唯一索引字段进行分片。如果有联合主键或联合唯一索引,默认使用第一个字段进行分片。
更多的分片算法支持,之前的版本中当表中的数据分布不均匀时(分布因子与1的差异较大)会通过SQL在源表进行抽样的方式进行分片,这种方式需要用到源数据库的计划资源,经过测试8c16g的mysql数据库中一张有5亿行记录的表抽样的SQL需要几个小时才能计算出结果,为了解决这个问题SeaTunnel放弃了使用SQL在源表进行抽样的算法,改为直接查询分片字段的所有值,并在SeaTunnel中进行抽样,可以将抽样的时间缩短到20分钟以内。
支持关闭checkpoint,再也不会checkpoint超时了:2.3.3版本及以前的版本,SeaTunnel离线同步任务也默认开启了checkpoint,由于checkpoint机制依赖合理的分片设置,在抽取的表无法进行分片或者由于设置不当导致单个分片过大时,就会导致checkpoint超时,影响同步任务稳定性。2.3.4版本中默认关闭了离线同步的checkpoint功能,不再会出现checkpoint超时的问题。如果用户希望离线同步能够断点续传,可以通过参数设置手工开始checkpoint功能。
支持任务级别的checkpoint超时设置。可以给每个任务设置不同的checkpoint超时时长。
CDC同步
- 更多的数据库支持
PostgreSQL CDC
Oracle CDC
- Flink引擎支持运行CDC任务
2.3.4版本更新说明
Bug 修复
Core
[Core] [API]修复了列表中泛型类丢失的问题 (#4421)[Starter]修复了在 [] 中 "," 被分隔的问题 (#5401)[Core] [API]修复了 ReadonlyConfig 键丢失错误 (#5565)[Core] [API]修复了从 LinkHashMap 获取字节的问题 (#5622)[Core] [API]修复了多表接收器关闭时的日志错误 (#5683)[Core] [API]修复了 MultiTableSink 返回提交器但接收器不支持的问题 (#5710)[Core] [API]修复了解析不支持类型的模式时的错误消息 (#5790)[Core] [API]修复了OptionUtilTest.test的不稳定测试 (#5894)[Core] [API]修复了 SaveModeHandler 未关闭的问题 (#5843)[Core] [API]修复了 MultiTableSinkWriter 线程索引始终为 1 的问题 (#5832)[Core] [API]修复了SeaTunnelRow::getBytesSize不支持映射接口的问题 (#5990)[Core] [Common]修复了FileUtils::createNewFile未创建新文件的问题 (#5943)[Core] [API]修复了 Debezium 格式无法解析日期/时间/时间戳的问题 (#5887)[Starter]当在双引号内时,',' 被视为普通字符而不是分隔符 (#6042)[Core] [Common]替换 CommonErrorCodeDeprecated.JSON_OPERATION_FAILED (#5978)[Core] [API]修复Object.class选项值无法返回正常值的问题 (#6247)
转换器-V2
[All]修复转换中的 PrimaryKey 问题 (#5704)[All]修复转换为时间戳、日期、时间的 bug (#5812)
格式
[Text]允许映射中的条目为 null 并允许条目中的键为 null (#5277)
连接器-V2
[Connector-V2] [Clickhouse]修复了 Clickhouse 旧版本兼容性问题 (#5326)[Connector-V2] [Clickhouse]修复了 http 头覆盖问题 (#5446)[Connector-V2] [StarRocks]修复了 starrocks 模板 sql 解析器问题 (#5332)[Connector-V2] [Hive]修复了 hive-site.xml 无法注入 HiveConf 的问题 (#5261)[Connector-V2] [Clickhouse]修复了 clickhouse 接收器刷新 bug (#5448)[Connector-V2] [Hive]修复了读取空目录时发生的错误 (#5427)[Connector-V2] [Oss jindo]修复了 jindo 驱动下载失败的问题 (#5511)[Connector-V2] [Oss jindo]移除无用代码 (#5540)[Connector-V2] [File]修复了 WriteStrategy 并行写入线程不安全问题 (#5546)[Connector-V2] [CDC]修复了原始表删除字段时 CDC 出现的 NPE bug (#5579)[Connector-V2] [Jdbc]修复了 oracle catalog 创建表重复和 oracle pg 空指针问题 (#5517)[Connector-V2] [CDC]修复了 cdc 枚举器中线程不安全的集合容器问题 (#5614)[Connector-V2] [Mongodb]修复了由 bsonNull 引起的不支持异常 (#5659)[Connector-V2] [File]修复了文件接收器isPartitionFieldWriteInFile在未给出列时出现的异常 (#5508)[Connector-V2] [Doris]修复了 RestService 报空指针异常 (#5319)[Connector-V2] [MaxCompute]修复了 MaxCompute 使用不存在的 SCHEMA 选项 (#5708)[Connector-V2] [Doris]使用 try-with-resources 简化代码 (#4995)[Connector-V2] [Clickhouse]修复了 clickhouse-sink 输出数据字段顺序错乱的 BUG (#5346)[Connector-V2] [Jdbc]支持 postgresql xml 类型 (#5724)[Connector-V2] [Jdbc]可空列源数据中的 null 数据可能导致意外结果 (#5560)[Connector-V2] [Iceberg]Iceberg 源在并行度选项下数据丢失 (#5732)[Connector-V2] [Jdbc]修复 PG 使用自动创建表时不会创建索引 (#5721)[Connector-V2] [Jdbc]修复数据库标识符 (#5756)[Connector-V2] [CDC]修复添加新表时 MultiTableSink 恢复失败 (#5746)[Connector-V2] [CDC]修复 Postgres 创建表测试用例失败 (#5778)[Connector-V2] [CDC]清理未使用的代码 (#5785)[Connector-V2] [CDC]修复从单表切换到多表时状态恢复错误 (#5784)[Connector-V2] [ElasticSearch]修复 elasticsearch 数组格式的转换异常 (#5825)[Connector-V2] [Jdbc]修复从 Oracle 读取日期类型值时丢失时间 (#5814)[Connector-V2] [Pulsar]修复:更新 IDENTIFIER = Pulsar,对于 pulsar-datasource 在项目:seatunnel-web (#5852)[Connector-V2] [Jdbc]修复 Hive-Jdbc 使用 krb5 时覆盖 kerberosKeytabPath (#5891)[Connector-V2] [InfluxDB]解决在 initColumnsIndex 方法中直接使用 'tz' 函数附加 QUERY_LIMIT 导致的无效 SQL (#4829)[Connector-V2] [Jdbc]修复 cdc 更新时未过滤相同主键 (#5923)[Connector-V2] [File]Parquet 读取器解析数组类型异常 (#4457)[Connector-V2] [Http]修复 http 配置无 schema 选项的 bug 并改进 e2e 测试添加案例 (#5939)[Connector-V2] [Doris]修复 DorisCatalog 未实现name方法 (#5988)[Connector-V2] [TDengine]修复多个并行度影响驱动加载的程度 (#6020)[Connector-V2] [Jdbc]修复 jdbc setFetchSize 错误 (#6005)[Connector-V2] [CDC]修复 CDC 作业恢复运行后无法消费增量数据 (#625) (#6094)[Connector-V2] [File]修复从 Excel 文件读取异常数据的问题 (#5932)[Connector-V2] [CDC]修复为恢复作业添加表时导致的 NPE (#6145)[Connector-V2] [Jdbc]修复 dameng catalog 查询表 sql (#6141)[Connector-V2] [Jdbc]更新 pgsql catalog 以支持保存模式 (#6080)[Connector-V2] [Jdbc]修复在大量重复数据情况下的 Spliter 错误 (#6026)[Connector-V2] [CDC]修复作业恢复后添加的列无法解析 (#6118)[Connector-V2] [CDC]修复 CDCRecordEmitDelay 指标中的负值 (#6259)[Connector-V2] [CDC]修复没有主键时无效的拆分键 (#6251)
Zeta(ST-引擎)
[Zeta]修复 NotifyTaskRestoreOperation npe (#5362)[Zeta]修复 Zeta 会关闭任务两次的错误 (#5422)[Zeta]禁用 CheckpointTimeOutTest (#5438)[Zeta]修复 CDC 任务恢复抛出 NPE (#5507)[Zeta]同一类型的多个接收器动作具有相同名称 (#5499)[Zeta]Checkpoint 异常状态消息不包括状态数据 (#5547)[Zeta]修复与检查点相关的内存泄漏问题 (#5539)[Zeta]修复检查点被长时间阻塞的问题 (#5695)[Zeta]修复作业状态不稳定的问题 (#5450)[Zeta]修复提交作业 API (#5702)[Zeta]将默认 DeployMode 设置为 DeployMode.CLIENT (#5783)[Zeta]使用中文名称提交作业时,rest api 返回乱码名称 (#5870)[Zeta]修复 CheckpointCoordinator 在未存在待处理检查点时报告 NPE (#5909)[Zeta]修复提交作业时存在相同作业名称的错误 (#6041)[Zeta]修复由于没有状态参数而导致返回列表为空的问题 (#6040)[Zeta]修复 zeta 调度器 bug (#6050)[Zeta]修复作业在最后一个检查点失败时无法恢复的问题 (#6193)[Zeta][Rest-API] 从非活动主节点提交或停止作业 (#6217)
E2E
[E2E] [Common]更新 seatunnel 引擎的测试容器版本 (#5323)[E2E] [Jdbc]修复 jdbc 套件测试完成后未移除 docker 镜像的问题 (#5586)[E2E] [ClickHouse]增强 ClickHouse E2E 测试以触发多个检查点 (#5476)[E2E]修复 jdbc 套件测试完成后未移除 docker 镜像的问题 (#5586)[E2E]修复ConnectorPackageServiceContainer未实现 getSavePointCommand/getRestoreCommand 的问题 (#5780)[E2E]修复因JdbcHiveIT和SparkSinkTest导致的构建失败 (#5798)[E2E]修复提交作业案例错误 (#6059)[E2E]修复与动作相关的错误 (#6264)[E2E]将 mysql 容器版本锁定为 8.0 (#6263)
CI
[CI]修复 jindo oss 连接器名称问题 (#5385)[Build]修复 fork 仓库不是最新时的错误消息 (#5497)[CI]修复 CI 在 fork 仓库中运行时未检查文件更改的问题 (#5515)[CI]移除 jindo 依赖 (#5528)[CI]修复 phoenix ci 错误 (#5530)[Build]更新构建版本为 2.3.4-SNAPSHOT (#5619)[Build]确保 install-plugin.sh 脚本与 Debian 上的 sh 兼容 #5630 (#5631)[CI] [Chore]移除无用的 sonar 检查脚本 (#5665)[Chore]移除 DISCLAIMER 文件 (#5673)[CI]修复 CI 不稳定问题 (#5896)[Build]修复 config/plugin_config 中的空行导致的构建失败 (#5921)[CI]修复 CI 未在更改 api 时运行 Kudu/AmazonSQS IT 的问题 (#5955)[CI]将 doris e2e 分成单独的模块 (#5999)[CI]修复死链接检查器失败 (#6016)[CI]修复 e2e 错误 (#6018)[Build]更新 pom.xml (#6113)[Build]解决示例运行失败的问题 (#6173)[Build]修复构建错误 (#6196)[CI]修复引擎客户端未关闭的问题 (#6241)
示例
[Examples]修改转换 URL 链接 (#5298)
改进
[Improve][CheckStyle]移除 checkstyle 中无用的 'SuppressWarnings' 注解 (#5260)[Improve][CheckStyle]调整 spotless 插件的阶段以适用于发布插件 (#5607)
Core
[Core] [API]移除 CatalogTableUtil 中的 CatalogTable 字段 (#5521)[Core] [API]将获取模式逻辑从 Config 移动到 ReadonlyConfig (#5534)[Starter]当发现一个 pluginIdentifier 对应多个连接器 jar 时抛出 IllegalArgumentException (#5551)[Core] [API]重构 CatalogTable 并添加SeaTunnelSource::getProducedCatalogTables(#5562)[Core] [API]在模式中支持配置列/主键/约束键 (#5564)[Core] [API]移除 ReadonlyConfig 扁平化特性的无用功能 (#5612)[Core] [Flink & Spark]重构 Spark/Flink 执行处理器 (#5595)[Core] [API]标记SeaTunnelPluginLifeCycle为废弃 (#5625)[Core] [API]支持为模式配置 tableIdentifier (#5628)[Core] [Pom]在根 pom 中添加 junit4 (#5611)[Core] [API]移除配置文件中的 catalog 标签 (#5645)[Core] [API]移除来自setTypeInfo的无用转换代码 (#5647)[Core] [API]确保 CatalogTable 选项和 partitionKeys 是可变的 (#5681)[Core] [API]为SeaTunnelSource::getProducedType添加默认实现 (#5670)[Core] [API]为SeaTunnelSink::setTypeInfo添加默认实现 (#5682)[Core] [API]添加使用后备键的警告 (#5753)[Core] [API]调整 flink 和 spark 引擎的睡眠模式与 zeta 一致 (#5698)[Core] [API]移除Factory选项以避免无用信息 (#5754)[Core] [API]将字段名称添加到DataTypeConvertor以改善错误消息 (#5782)[Core] [API]移除使用SeaTunnelSink::getConsumedType方法并将其标记为废弃 (#5755)[Core] [Common]移除 assert 关键字 (#5915)[Core] [Common]清理流量控制代码 (#5991)[Core] [Common]将FILE_OPERATION_FAILED适配为CommonError(#5928)[Core] [API]为 Column 添加serialVersionUID[Core] [Common]将SupportResourceShare扩展到 spark/flink (#5847)[Core] [API]如果禁用检查点,则移除检查点超时检查 (#6231)
格式
[Json]使用静态对象映射器代替每次创建它 (#5460)[Json]移除 assert 关键字 (#5919)[Formats]替换 CommonErrorCodeDeprecated.JSON_OPERATION_FAILED (#5948)[Formats]重构ignoreParseErrors的异常捕获 (#6065)[Formats]在seatunnel-format-compatible-debezium-json中使用数字格式解析 Decimal 类型 (#5803)[Text]添加 dateTimeFormatter 以解析 ISO8601 (#5974)[Formats]替换CommonErrorCodeDeprecated.JSON_OPERATION_FAILED(#5948)
连接器-V2
[Connector-V2] [IoTDB]移除 IoTDB 接收器中的调度器 (#5270)[Connector-V2] [InfluxDB]移除 InfluxDB 接收器中的调度器 (#5271)[Connector-V2] [Dynamodb]移除 Dynamodb 接收器中的调度器 (#5248)[Connector-V2] [StarRocks]移除 StarRocks 接收器中的调度器 (#5269)[Connector-V2] [CDC]避免在不必要的数据库下列出表 (#5365)[Connector-V2] [Jdbc]重构 AbstractJdbcCatalog (#5096)[Connector-V2] [CDC]支持在 flink 上运行 cdc 作业 (#4918)[Connector-V2] [Assert]支持 'DECIMAL' 类型并修复 'Number' 类型精度问题 (#5479)[Connector-v2] [Redis]Redis 支持选择数据库 (#5570)[Connector-v2] [CDC]使用 Source 输出 CatalogTable (#5626)[Connector-v2] [CDC]添加 dataType datetimeoffset (#5548)[Connector-v2] [Jdbc]支持读取多个表 (#5581)[Connector-v2] [CDC]统一 sqlserver TypeUtils 类型转换模式 (#5668)[Connector-v2] [Http]改进 http e2e 测试 (#5655)[Connector-v2] [AmazonDynamicDB]添加 amazondynamicdb 源拆分 (#5275)[Connector-v2] [File]parquet 使用系统时区 (#5605)[Connector-v2] [Amazonsqs]更改amazonsqs为AmazonSqs作为连接器标识符 (#5742)[Connector-v2] [File]统一文件源/接收器选项并更新文档 (#5680)[Connector-v2] [AmazonDynamicDB]代码清理 AmazonDynamoDB 连接器 (#5791)[Connector-v2] [MongoDB]实现 TableSourceFactory 以创建 mongodb 源[Connector-v2] [Jdbc]优化 catalog-table 元数据合并逻辑 (#5828)[Connector-v2] [Jdbc]将getCountSql重命名为getExistDataSql(#5838)[Connector-v2] [ClickHouse]加速 ClickhouseFile Local 生成 mmap 对象 (#5822)[Connector-v2] [Jdbc]改进 Jdbc 连接器在数据类型不支持时的错误消息 (#5864)[Connector-v2] [Jdbc]减少 getCatalogTable 在 jdbc 中的时间消耗 (#5908)[Connector-v2] [StarRocks]StarRocks 支持创建 varchar 字段类型 (#5911)[Connector-v2] [StarRocks]添加 http socket 超时 (#5918)[Connector-v2] [File]清理JsonWriteStrategy和ExcelWriteStrategy的内存缓冲 (#5925)[Connector-v2] [StarRocks]StarRocks 支持创建带唯一键的表模板 (#5905)[Connector-v2] [CDC]当exactly_once关闭时禁用内存缓冲以提高稳定性 (#6017)[Connector-v2] [Doris]在 doris 接收器中添加批量刷新 (#6024)[Connector-v2] [Paimon]适配 Paimon 0.6 版本 (#6061)[Connector-v2] [File]使 Oss 实现源工厂和接收器工厂 (#6062)[Connector-v2] [File]禁用 HDFSFileSystem 缓存 (#6039)[Connector-v2] [Jdbc]在 jdbc 连接器中遮蔽 hikari (#6116)[Connector-v2] [Jdbc]支持 Sqlserver 小众数据类型 (#6122)[Connector-v2] [Kafka]移除 kafka 连接器的无用代码 (#6157)[Connector-v2] [Doris]改进 doris 接收器以随机使用 be (#6132)[Connector-v2] [Http]增加自定义配置超时 (#6223)[Connector-v2] [Pulsar]提高 pulsar 吞吐性能 (#6234)[Connector-v2] [CDC]支持int identity类型在 sql server 中 (#6186)[Connector-v2] [CDC]Doris 流加载使用 FE 而不是 BE (#6235)[Connector-v2] [CDC]修正名称错误 (#6248)[Connector-v2] [Tdengine]支持从 tdengine 读取 bool 列 (#6025)[Connector-v2] [Jdbc]使用 PreparedStatement 从列中采样数据 (#6242)
CI
[CI]更新 sql-udf 文档 (#5197)[CI][E2E][Zeta]增加 Zeta 检查点超时以避免 connector-file-sftp-e2e 频繁失败 (#5339)[CI]修复 phoenix ci 错误[Build]将seatunnel-hadoop3-3.1.4-uber.jar放入发布二进制包 (#5743)[Test]确保在 spark 中的值不会被重用 (#5767)[Test]移动 MaxCompute 测试用例文件 (#5786)[CI]始终运行所有模块的单元测试 (#5800)[Test]将 System.out.println 更改为日志输出 (#5912)[Test]为命令使用添加一些测试用例[Test]修复 sql server catalog 测试用例失败 (#6128)[Test]修复 JobMetricsTest 不稳定 (#6152)[Test]修复 ConnectorSpecificationCheckTest 无效 (#5820)
E2E
[E2E]移除不必要的代码以减少磁盘压力 (#5613)[E2E]启用 Oceanbase Mysql 模式的 IT 案例 (#5697)[E2E]按需从 url 加载驱动类 (#5712)[E2E]Jdbc 测试检查数据一致性 (#5734)[E2E]启用 e2e 日志输出并禁用控制台接收器日志 (#5879)[E2E]改进所有引擎的 e2e 日志 (#5936)[E2E]增强 Kudu E2E 的稳定性 (#6258)
Zeta(ST-引擎)
[Zeta]优化测试用例CheckpointTimeOutTest.testJobLevelCheckpointTimeOut(#5403)[Zeta]改进依赖包 (#5624)[Zeta]将硬编码配置键更改为引用 (#5618)[Zeta]更改RestJobExecutionEnvironment实现的类名 (#5671)[Zeta]更改默认 Zeta 客户端 JVM 堆值 (#5674)[Zeta]将 generate_client_protocol.sh 移动到引擎模块 (#5667)[Zeta]优化 SeaTunnel Zeta 引擎 Jar 包上传逻辑 (#5542)[Zeta]将RestJobExecutionEnvironment移动到 rest 包 (#5764)[Zeta]从动作名称(检查点状态键)中移除result_table_name(#5779)[Zeta]重构 jar 包服务模块 (#5763)[Zeta]将客户端 cluster-connect-timeout-millis 暴露给 yaml (#5868)[Zeta]减少检查点完成日志 (#5916)[Zeta]移除 assert 关键字 (#5947)[Zeta]调整工厂验证实现的日志级别 (#6153)[Zeta]忽略无用的错误目标槽错误 (#6135)[Zeta]添加在提交失败时恢复的功能 (#6101)
Transformer-V2
[All]为 SeaTunnel 转换添加 JsonPath 转换 (#5632)[All]支持 SqlTransform Not Like 表达式 (#5768)[All]添加 from_unixtime 函数 (#5462)[All]支持 case when 表达式 (#6123)
特性
核心
[Core] [API]为检查点超时添加作业级配置 (#5222)[Core] [API]目录添加大小写转换定义 (#5328)[Core] [API]为测试添加 InMemoryCatalog 并添加新的 getCatalogTableFromConfig 方法 (#5485)[Core] [Flink]支持可配置精度和规模的 Decimal 类型 (#5419)[Core] [API]在SinkAggregatedCommitter中添加init和restoreCommit方法 (#5598)[Core] [Flink]在 Flink 中支持流量控制 (#5509)[Core] [Spark]支持 SeaTunnel 时间类型 (#5188)[Core] [Flink]移除无用的 stageType (#5650)[Core] [API]支持多表接收器 (#5620)[Core] [Spark]在 Spark 中支持流量控制 (#5510)[Core] [Flink]添加外部配置参数 (#5480)[Core] [API]移除所有无用的prepare、getProducedType方法 (#5741)[Core] [Common]引入新的错误定义规则 (#5793)[Core] [Common]移除无用的 DeserializationFormatFactory 及其实现 (#5880)[Core] [API]用 TableSchema 替换 SeaTunnelRowType 在 JdbcRowConverter 中[Core] [Flink]升级 flink 源翻译 (#5100)[Core] [API]为所有目录添加不支持的数据类型检查 (#5890)[Core] [Flink]在 flink 引擎中支持记录指标 (#6035)
连接器-V2
[Connector-V2] [CDC] [SQLServer]支持多表读取 (#4377)[Connector-V2] [Jdbc]Jdbc 数据库支持标识符 (#5089)[Connector-V2] [Jdbc]jdbc 连接器支持 Kingbase 数据库 (#4803)[Connector-V2] [Jdbc]添加 tidb 数据类型转换器 (#5440)[Connector-V2] [Jdbc]添加 Dameng 目录 (#5451)[Connector-V2] [File]支持在输出类型为文件 (CSV) 时写入列名 (#5459)[Connector-V2] [File]当 FILE_FORMAT_TYPE 为 text/csv 时,添加参数 BaseSinkConfig.ENABLE_HEADER_WRITE: #5566 (#5567)[Connector-V2] [CDC]支持优先使用数字字段作为分割键 (#5384)[Connector-V2] [File]支持读取空目录 (#5591)[Connector-V2] [Fake&Assert]从 FakeSource/Assert 添加table-names以产生/断言多表 (#5604)[Connector-V2] [Jdbc]添加 OceanBase 目录 (#5439)[Connector-V2] [File]支持LZO压缩在文件读取上 (#5083)[Connector-V2] [CDC]支持在 flink 上运行 MongoDB CDC (#5644)[Connector-V2] [Jdbc]支持更多配置连接参数的方式 (#5388)[Connector-V2] [Kafka]KafkaSource 使用 Factory 创建源 (#5635)[Connector-V2] [Jdbc]添加连接器 amazonsqs (#5367)[Connector-V2] [Jdbc]在 MaxCompute Source 中支持目录 (#5283)[Connector-V2] [Kudu]重构 Kudu 功能并支持 CDC 数据的接收器 (#5437)[Connector-V2] [CDC]优化 mysql server-id 的默认值范围以减少冲突 (#5550)[Connector-V2] [Http]HTTP 支持页面增加 #5477 (#5561)[Connector-V2] [Jdbc]添加 Save Mode 功能和 Connector-JDBC (MySQL) 连接器已实现 (#5663)[Connector-V2] [Jdbc]支持 XMLTYPE 数据集成 #5716 (#5723)[Connector-V2] [Jdbc]支持 Hive JDBC Source 连接器 (#5424)[Connector-V2] [Http]Http 参数支持自定义加密 (#5727)[Connector-V2] [Kudu]在 kudu 上支持 TableSourceFactory/TableSinkFactory (#5789)[Connector-V2] [File]LocalFileSource 支持多表[Connector-V2] [Fake]FakeSource 支持为 MultipleTable 生成不同的 CatalogTable (#5766)[Connector-V2] [Kudu]支持 kudu 多表源读取 (#5878)[Connector-V2] [Http]在 http 上支持 TableSourceFactory/TableSinkFactory (#5816)[Connector-V2] [Redis]在 redis 上支持 TableSourceFactory/TableSinkFactory (#5901)[Connector-V2] [Jdbc]修复 split 键不支持 BigInteger 类型[Connector-V2] [File]LocalFile 接收器支持多表 (#5931)[Connector-V2] [Doris]Doris 目录 (#5175)[Connector-V2] [Kudu]支持 kudu 多表接收器特性 (#5951)[Connector-V2] [File]支持使用多个 hadoop 账户 (#5903)[Connector-V2] [File]将多表文件 API 放到文件基础模块 (#6033)[Connector-V2] [Paimon]Flink 表存储在准备提交时失败 (#6057)[Connector-V2] [File]添加多表文件接收器到基础模块 (#6049)[Connector-V2] [Jdbc]jdbc 源支持将字符串类型作为分区键 (#6079)[Connector-V2] [File]支持读取 .xls excel 文件 (#6066)[Connector-V2] [CDC]支持读取没有主键的表 (#6098)[Connector-V2] [Assert]支持检查 Decimal 类型的精度和规模 (#6110)[Connector-V2] [Hbase]支持数组数据 (#6100)[Connector-V2] [File]FTP 源/接收器添加 ftp 连接模式 (#6077) (#6099)[Connector-V2] [Jdbc]更新 sqlserver 目录以支持保存模式 (#6086)[Connector-V2] [CDC]支持自定义表主键 (#6106)[Connector-V2] [Doris]在 Doris 上支持 SaveMode (#6085)[Connector-V2] [Jdbc]更新 oracle 目录以支持保存模式 (#6092)[Connector-V2] [ElasticSearch]添加 elasticsearch save_mode (#6046) (#6092)[Connector-V2] [Jdbc]改进查询列 sql 的兼容性 (#5664)[Connector-V2] [Jdbc]改进查询列 sql 的兼容性 (#5664)[Connector-V2] [Pulsar]添加 Pulsar 接收器连接器 (#4382)[Connector-V2] [StarRocks]添加 starrocks save_mode (#6029)[Connector-V2] [CDC]支持 oracle cdc (#5196)[Connector-V2] [Doris]添加 Doris ConnectorV2 源 (#6161)[Connector-V2] [Jdbc]支持 postgres jdbc 中的uuid(#6185)[Connector-V2] [CDC]支持读取没有主键的表 (#6209)[Connector-V2] [CDC]修复 jdbc setFetchSize 错误 (#6210)[Connector-V2] [CDC]修复从单表切换到多表时状态恢复错误 (#6211)[Connector-V2] [CDC]清理未使用的代码 (#6212)[Connector-V2] [File]添加 s3file save mode 功能 (#6131)[Connector-V2] [CDC]支持自定义表主键 (#6216)[Connector-V2] [CDC]为拆分支持添加日期类型和浮点类型列 (#6160)[Connector-V2] [CDC]支持 Postgres cdc (#5986)[Connector-V2] [CDC]更新 jdbc fetchsize (#6245)[Connector-V2] [CDC]默认禁用 exactly_once 以提高稳定性 (#6244)[Connector-V2] [CDC]支持在拆分器中的 Short 和 Byte 类型 (#6027)[Connector-V2] [Jdbc]改进查询表的大致总行数的 SQL 兼容性 (#5972)
Zeta(ST-引擎)
[Zeta]添加 UNKNOWABLE 作业状态 (#5303)[Zeta]在 zeta 中支持流量控制 (#5502)[Zeta] [REST-API]停止运行中的作业 (#5512)[Zeta]在 Kubernetes 上支持 Zeta 引擎 (#5594)[Zeta]在批处理模式中,可以禁用检查点 (#5914)[Zeta]将跳过触发检查点的日志级别更改为调试 (#5954)[Zeta]添加新作业状态DOING_SAVEPOINT和SAVEPOINT_DONE(#5917)[Zeta]添加 waitForJobCompleteV2 api (#5965)[Zeta]可以使用 rest api 自动向 Zeta 主节点提交作业 (#5950)[Zeta] [REST-API]获取已完成作业的信息 (#5949)[Zeta]修复转换动作返回相同名称 (#6034)[Zeta]统一作业环境参数 (#6003)[Zeta]将 TaskGroupLocation 添加到 TaskExecutionService 的线程名称中 (#6095)[Zeta]在 zeta 中使用 G1 作为默认垃圾收集器 (#6114)[Zeta]修复带有无检查点文件的保存点启动时的错误 (#6215)[Zeta]支持在泛型类型中用 hocon 风格声明行类型 (#6187)
CI
[Bin]为所有脚本添加 .bat 脚本 (#5445)[INFRA]将 CI 移至在 fork 仓库容器上运行 (#5495)[Build]移除connector/seatunnel目录 (#5489)[INFRA]更新 PR 模板以添加测试和用户更改问题 (#5486)[INFRA]为 notify_test_workflow.yml 添加日志以追踪错误原因[INFRA]修复 notify_test_workflow.yml 不稳定[Test]测试完成后在 jdbc 套件上移除 docker 镜像 (#5568)[Test]为 ResourceManager 添加测试以确保任务将在不同节点上部署 (#5518)[Chore]移除无用的.scalafmt.conf文件 (#5616)[LICENSE]添加 hadoop 许可 (#6067)[Build]将 seatunnel-spark-3-starter.jar 放入发布包 (#6044)[Test]减少重复目录测试次数 (#6207)[CI]确保 notify_test_workflow.yml 错误将被抛出 (#6226)
格式
[Ogg]支持读取 ogg 格式消息 #4201 (#4225)[Json]移除 assert 关键字 (#5919)[Avro]支持 avro 格式 (#5084)[Formats]重构ignoreParseErrors的异常捕获 (#6065)[Avro]改进 avro 格式转换 (#6082)
转换器-V2
[All]添加 JsonPath 转换 (#5632)[All]支持 SqlTransform Not Like 表达式 (#5768)[All]添加 from_unixtime 函数 (#5462)[All]支持 case when 表达式 (#6123)
文档优化详情
[Docs]使用统一格式 Feishu 重构 connector-v2 文档 (#5343)[Docs]重构 IoTDB 接收器文档 (#5306)[Docs]更正单词错误 (#5360)[Docs]改进 iceberg 文档 (#5335)[Docs]使用短链接 https://s.apache.org/seatunnel-slack 替换长 URL (#5363)[Docs]改进 http 文档参数体描述 (#5368)[Docs]使用统一格式 Slack 重构 connector-v2 文档 (#5344)[Docs]更新 sql-udf 文档 (#5197)[Docs]重构 MySQL-CDC 文档 (#5302)[Docs]在 FtpFile 的选项描述中将 username 由 user 替换 (#5421)[Docs]更新 iotdb 文档 (#5404)[Docs]添加 mysql Connector 文档版本标题示例 pr (#5249)[Docs]添加并行度 (#5310)[Docs]Http 源选项键 poll_interval_ms 在源代码中不同 (#5430)[Docs]改进 kafka 接收器文档中的错误示例 (#5527)[Docs]改进控制台接收器文档 (#5230)[Docs]添加如何更改 e2e 测试的日志配置 (#5589)[Docs]添加 RocketMq 连接器 (#5361)[Docs]在 README.md 中修复构建状态未更新 (#5574)[Docs]hdfsFile 的 file_format 更改为 file_format_type (#5653)[Docs]改进 README.md (#5662)[Docs]添加 FakeSource 连接器文档 (#5255)[Docs]在 README.md 中介绍 SeaTunnel web 项目 (#5634)[Docs]向 README 添加目录和常见问题解答 (#5693)[Docs]更新 quick-start-spark.md (#5795)[Docs]添加 Socket 连接器文档 #5255 (#5287)[Docs]改进文件接收器文档 (#5799)[Docs]添加 SqlServer 连接器文档 (#5498)[Docs]更新 (#5808)[Docs]添加 hive jdbc 参考值 (#5882)[Docs]修正 Checkpoint-Storage 描述不正确 (#5883)[Docs]重构 OssFile 连接器文档 (#5233)[Docs]修复 oss 连接器无法运行的 bug (#6010)[Docs]为 jdbc-connector 更新文档 (#5765)[Docs]添加 V2 连接器 jdbc 文档参数可以加速数据导入 PR (#6176)[Docs]修改一些文档标题规范 (#6237)[Docs]重构 Socket Source 和 SftpFile 连接器文档 (#5386)[Docs]改进驱动放置路径的文档[Docs]更正数组元素类型和映射键类型的介绍 (#6261)
致谢名单
感谢所有为2.3.4版本做出贡献的社区成员,包括代码贡献者、文档撰写者和测试人员。Apache SeaTunnel的成功离不开每一个人的努力!
| 用户名1 | 用户名2 | 用户名3 |
|---|---|---|
| Carl-Zhou-CN | halo.kim | Nick Young |
| Adarsh Jha | Hao Xu | Pritham Sriram Govindaraj |
| Alex Ting | haolinkong | pstrasser |
| Anirudh Hegde | happyboy1024 | seckiller |
| asia-zengtao | He Wang | sunjane |
| bingquanzhao | Huan Liang | Tung Bui (Leo) |
| Carl-Zhou-CN | ic4y | Tyrantlucifer |
| chaos | Jarvis | Volodymyr |
| chen0623-bak | Jia Fan | wachoo |
| Chengyu Yan | john | wei zhao |
| chenyunde | kk | Wenjun Ruan |
| David Zollo | Kunni | wow_zx |
| Dennis | lightzhao | xiami |
| dependabot[bot] | lizhenglei | xiaofan2012 |
| dian | luo | XiaoJiang521 |
| Eric | michalrys | Yan Xiaole |
| fang | mingbei.xu | zhengyuan |
| FlechazoW | Morssssy | ZhilinLi |
| FuYouJ | MoSence | 丑西蒙 |
| gitfortian | muzhongjiang | 老王 |
| gnehil | Nick | 王渔 |
| Guangdong Liu | hailin0 |
本文由 白鲸开源科技 提供发布支持!