Apache SeaTunnel 2.3.13 版本前瞻:核心引擎变化和 AI ETL 趋势值得关注

Apache SeaTunnel 2.3.13即将发布!

点击蓝字



关注我们

Apache SeaTunnel 2.3.13 即将发布。作为一个承上启下的重要版本,它在大幅增强核心引擎稳定性的同时,进一步补全了 CDC 场景的能力拼图,并向 AI ETL 领域迈出了关键一步。

通过对 2.3.13-release 分支的深度源码分析,我们为您提炼了本版本的核心更新概览。

核心亮点

1. 核心引擎:Flink Schema Evolution 与 Zeta 稳定性

  • Flink 引擎支持 CDC Schema Evolution (#9867)
    这是 Flink 用户期待已久的功能。2.3.13 正式在 Flink 引擎层实现了源端 Schema 变更(DDL)的自动传递与适配,打通了从 CDC Source 到 Flink Engine 的最后一公里,使得 Flink 任务也能像 Zeta 引擎一样从容应对上游表结构变化。

  • Zeta 引擎深度优化

    • 远程分页查询支持(#9951):显著提升了 SeaTunnel UI 及 REST API 在大规模任务场景下的响应速度与用户体验。
  • 内存泄漏修复(#10315):修复了取消挂起任务时的内存泄漏问题,提升了长期运行集群的稳定性。
  • 多 Sink 场景指标修复(#10376):
    解决了多目标写入Write Count 显示不准确的问题。

2. AI ETL:拥抱非结构化数据

  • 多模态 Embedding 转换(#9673):
    新增Multimodal EmbeddingTransform,支持对文本和图像数据进行向量化处理。结合Markdown 解析能力,SeaTunnel 现在可以直接构建从“非结构化文档”到“向量数据库”的完整 RAG(检索增强生成)数据管道。
  • Elasticsearch Vector 优化(#10260):
    优化了 Elasticsearch Sink 对向量参数的支持,使其更适配 AI 向量存储场景。

3. 连接器生态:多表同步与类型增强

  • MongoDB:全面增强多表(Multi-table)同步模式,统一了非关系型数据源的 Schema 配置参数 (#10370)。
  • HBase:
    Sink 端新增对 DATE, TIME, TIMESTAMP, DECIMAL 类型的支持,并修复了 Decimal 反序列化问题 (#10291)。
  • Hive:支持配置多个 Metastore URI 以实现自动故障转移 (#10253),并新增了 Socket/Connection 超时控制 (#10254)。
  • JDBC/Redshift:升级驱动版本以解决 OOM 问题,并修复了大字段 Schema 合并时的整数溢出 Bug。

关键修复及优化


本版本修复了多个可能导致生产环境不稳定的关键 Bug,建议高负载场景用户重点关注:

组件
类型
问题描述
修复影响
CoreHang
FakeSource 在 restore 后可能因未发送 NoMoreSplits 而导致任务挂起 (#10275)
:解决特定场景下任务无法结束的问题
ClickHouseLeak
修复 ClickhouseCatalogUtil中的 ThreadLocal 内存泄漏 (#10264)
:防止长期运行服务的堆外内存溢出
RedshiftOOM
升级 JDBC 驱动解决大量数据读取时的 OOM (#10393)
:提升 Redshift 数据同步稳定性
HBaseNPE
修复读取空表时可能抛出的 NullPointerException(#10336)
:增强边界条件下的健壮性
SSHCrash
升级 jsch 库修复缓冲区问题 (#10298)
:提升 SFTP/SSH 连接稳定性


深度功能解析:

构建AI知识库数据流


2.3.13 的一个隐含核心主线是 "Unstructured Data to Vector"。以下 Demo 展示了如何利用新特性,将本地 Markdown 知识库解析并同步到向量存储(以 Console 为例)的完整流程。

场景描述

读取本地目录下的技术文档(Markdown),按章节解析结构化数据,并准备进行 Embedding 处理。

配置文件 (Demo)

env {  parallelism = 1  job.mode = "BATCH"}source {  LocalFile {    path = "/data/knowledge_base"    file_format_type = "markdown"    # 2.3.13 新增:Markdown 读取策略配置    parse_strategy = {        # 提取标题层级、内容及元数据        schema = [            {name = "doc_name", type = "string"},            {name = "heading", type = "string"},            {name = "content", type = "string"},            {name = "code_block", type = "string"}        ]    }  }}transform {  # 1. 预处理:清洗文本  Replace {    source_table_name = "source_table"    result_table_name = "cleaned_table"    replace_field = "content"    pattern = "\\n+"    replacement = " "  }  # 2. (2.3.13+) AI 转换:调用模型生成 Embedding  # 注意:此功能依赖 Transform-V2 的 Embedding 插件  # Embedding {  #   source_table_name = "cleaned_table"  #   result_table_name = "vector_table"  #   vector_field = "vector"  #   model_provider = "openai"   #   api_key = "${OPENAI_API_KEY}"  # }}sink {  # 模拟输出到向量数据库  Console {    source_table_name = "cleaned_table"     # 如果开启了 Embedding,这里可以预览生成的向量  }}

源码导读

  • Markdown 解析核心:
    MarkdownReadStrategy.java
    该类利用 flexmark-java 库实现了对 Markdown AST 的遍历,将非结构化文本转化为 SeaTunnel 的 Row 结构。
  • Schema Evolution 适配:
    FlinkRowConverter.java
    在 Flink 翻译层增加了对动态 Schema 变更的兼容逻辑。

    总结


Apache SeaTunnel 2.3.13 在保持高速迭代的同时,明显加大了对稳定性(Bug Fixes)和前沿场景(AI/CDC)的投入。无论是 Flink 用户的 CDC 痛点,还是 AI 工程师的非结构化数据处理需求,都能在这个版本中找到解决方案。

注:以上分析基于 2.3.13-release 分支代码(Commit e4052e95c),具体发布内容请以官方 Release Note 为准。

Apache SeaTunnel

Apache SeaTunnel是一个云原生的多模态、高性能海量数据集成工具。北京时间 2023 年 6 月1 日,全球最大的开源软件基金会ApacheSoftware Foundation正式宣布SeaTunnel毕业成为Apache顶级项目。目前,SeaTunnel在GitHub上Star数量已达9.1k+,社区达到7000+人规模。SeaTunnel支持在云数据库、本地数据源、SaaS、大模型等170多种数据源之间进行数据实时和批量同步,支持CDC、DDL变更、整库同步等功能,更是可以和大模型打通,让大模型链接企业内部的数据。




同步Demo

MySQL→Doris | MySQLCDC | MySQL→Hive | HTTP → Doris  | HTTP → MySQL | MySQL→StarRocks|MySQL→Elasticsearch |Kafka→ClickHouse

新手入门

SeaTunnel 让数据集成变得 So easy!3 分钟入门指南
 0 到 1 快速入门 /初探/深入理解 
  分布式集群部署 | CDC数据同步管道 | Oracle-CDC
图片

最佳实践

中控技术天翼云多点OPPO | 清风马蜂窝孩子王哔哩哔哩唯品会众安保险兆原数通 | 亚信科技|映客|翼康济世|信也科技|华润置地|Shopee|京东科技|58同城|互联网银行|JPMorgan
图片

测试报告

SeaTunnel VS GLUE |  VS Airbyte |  VS DataX|SeaTunnel 与 DataX 、Sqoop、Flume、Flink CDC 对比

图片

源码解析

Zeta引擎源码解析(一) |(二) |(三)| API 源码解析 |2.1.1源码解析|封装 Flink 连接数据库解析





仓库地址: 
https://github.com/apache/seatunnel
网址:
https://seatunnel.apache.org/
Apache SeaTunnel 下载地址:
https://seatunnel.apache.org/download
衷心欢迎更多人加入!
我们相信,在Community Over Code(社区大于代码)、「Open and Cooperation」(开放协作)、「Meritocracy」(精英管理)、以及「多样性与共识决策」等 The Apache Way 的指引下,我们将迎来更加多元化和包容的社区生态,共建开源精神带来的技术进步!
我们诚邀各位有志于让本土开源立足全球的伙伴加入 SeaTunnel 贡献者大家庭,一起共建开源!
提交问题和建议:
https://github.com/apache/seatunnel/issues
贡献代码:
https://github.com/apache/seatunnel/pulls
订阅社区开发邮件列表 : 
dev-subscribe@seatunnel.apache.org
开发邮件列表:
dev@seatunnel.apache.org
加入 Slack:
https://join.slack.com/t/apacheseatunnel/shared_invite/zt-1kcxzyrxz-lKcF3BAyzHEmpcc4OSaCjQ
关注 X.com: 
https://x.com/ASFSeaTunnel