本文主要是介绍Apache SeaTunnel 2.3.4 版本发布:功能升级,性能提升,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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 |
本文由 白鲸开源科技 提供发布支持!
这篇关于Apache SeaTunnel 2.3.4 版本发布:功能升级,性能提升的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!