写点什么

Apache SeaTunnel 人物专访 | 张东浩:从使用者到 Committer 的开源历程

  • 2025-03-06
    广东
  • 本文字数:2214 字

    阅读完需:约 7 分钟

时光飞逝,转眼间,Apache SeaTunnel 社区已经成为顶级项目快两周年了,其社区贡献者和用户群体也日益壮大。SeaTunnel 凭借其高性能和插件灵活的特性,已经成为国内众多知名企业数据同步的基础工具。作为 SeaTunnel 的贡献者,我个人也有许多感慨,本文给大家介绍下在过去的 1 年里,我个人在社区持续不断地进行完善和改进心路历程。

自我介绍

请您简单介绍一下自己,包括职业背景、当前的工作以及加入 Apache SeaTunnel 社区的起点。



  • 您的全名:张东浩

  • 当前职位/角色:中电信翼康公司大数据架构师

  • 主要技术方向:数据湖、数据集成

  • 加入 SeaTunnel 社区的时间:2024 年 2 月

  • 最初如何接触到 SeaTunnel 这个项目的: 在负责公司数据平台建设时,我们面临多源异构数据的高效集成需求。调研中发现 SeaTunnel 的插件化架构和轻量级设计非常适合解决此类问题。通过实际部署和使用,逐渐被其灵活性和性能所吸引,最终决定深入参与社区贡献。

社区贡献之路

您在成为 Committer 之前,对社区都有哪些贡献?

您的第一个贡献是什么?

首个贡献是优化 SeaTunnel 的 RestAPI 接口命名规范(PR #6813)。当时在使用中发现接口命名不够直观,容易引发理解偏差,于是主动提交改进方案。这一过程让我熟悉了社区的协作流程,也获得了核心成员的积极反馈。

哪些具体的功能、改进或活动是您主导的?
  • Paimon 连接器优化

  • 支持 Truncate Table 操作(PR#7560)与动态分桶(PR#7335)功能,提升了数据湖场景下的灵活性和效率。

  • Arrow 格式支持:

  • 抽象通用逻辑,将 Arrow 格式数据转换为 SeaTunnelRow,并重构 Doris/StarRocks Reader,提升数据解析性能。(PR#8137

  • Schema Evolution 增强:为 Postgres JDBC Sink(PR#8276)和达梦 JDBC Sink(PR#8380)增加 DDL 事件支持,适应动态表结构变更需求。

  • 正则表达式配置:

  • 实现 Mysql-CDC 的库表正则匹配功能,简化多表同步配置。(PR#8323)

  • CI 效率提升:

  • 修复模块重复运行 CI 的问题,将耗时较长的模块独立抽取,降低整体失败率。(PR#8284PR#8292PR#8295, PR#8028, PR#8343

在贡献过程中,您遇到了哪些挑战,又是如何克服的?

挑战:初期对 CI 机制不熟悉,某些模块频繁失败导致开发效率低下。


解决:通过社区导师指导,逐行调试 CI 代码,最终发现模块未去重导致重复执行。这一经历让我深刻体会到社区协作的力量,也提升了自身排查问题的能力。

成为 Committer 的感受

成为 Committer 对您来说意味着什么?

这是社区对技术贡献和协作能力的双重认可,也赋予了我更多责任。未来希望成为连接新人与核心团队的桥梁,推动社区生态的健康发展。

您希望在新的角色中重点推动哪些方向?
  • 数据湖深度集成: Paimon 高级版本新增权限认证,将这些特性引入 SeaTunnel Piamon 连接器

  • 开发者体验提升:编写更友好的新手引导文档,建立贡献者成长路径。

洞察 SeaTunnel

SeaTunnel 的独特优势

插件化架构的极致灵活性


SeaTunnel 的标准化插件设计,使其能够无缝对接 Apache Paimon 这类现代数据湖框架。例如,我们通过优化 Paimon Connector,实现了动态分桶和 Truncate Table 操作。


社区驱动的开放生态


社区的活跃度和协作效率远超同类项目。无论是新功能讨论、问题修复还是文档完善,核心成员和贡献者都能快速响应,形成“用户即开发者”的良性循环。

最喜欢的特性

**Paimon 连接器的深度集成:**通过 SeaTunnel 的 Paimon Sink 插件,我们能够将 Kafka 流数据实时写入 Paimon 表,并利用其动态分桶功能自动优化存储布局。这一过程无需额外开发调度任务,仅需配置即可完成,显著降低了数据湖维护成本。


Schema Evolution 的端到端支持: 当源表新增字段时,数据不仅会实时写入目标数据库,还会自动触发 Paimon 表的 Schema 更新,避免了传统 ETL 链路中的手动干预。

未来发展方向
  • 实时能力增强:支持更多流式数据源(如 Kafka 扩展)。

  • 云原生适配:优化 Kubernetes 部署体验,提供 Serverless 模式支持

  • 信创: 与国产化生态整合

社区寄语

对新手的建议

先使用,再贡献。我的第一次 PR 就源于实际使用中的痛点。建议从文档校对或单测补充入手,例如修复错别字或补充测试用例,逐步积累信心。


贡献切入点推荐:


  • 文档优化:改进安装指南或添加中文教程。

  • 单测覆盖:针对边缘场景补充测试代码。

  • **企业场景验证:**例如测试 SeaTunnel 在 ARM 架构服务器(如华为鲲鹏)上的兼容性,这类验证对国产化替代项目至关重要。

兴趣爱好

喜欢历史,骑车。作为历史爱好者闲暇之余会听一些 UP 的分享,骑车是一个很不错的锻炼方式,作为一个新成都人,在这里安利一下成都的环城绿道,非常适合骑车。


  • 平衡工作与生活

  • 由于工作原因,很难完全遵循理想的时间管理计划。但家人的理解与支持让我能专注于技术工作。

趣事分享

小权限,大教训


有一次次在项目上遇到需求指定 hadoop 用户读写 Paimon 表,需求也很明确,很快完成研发,本地测试都没问题。然而,将编译好的连接器 Jar 包发给同事,部署到生产环境时,任务提交后一直“罢工“,同事很快反馈回来,那一刻,空气仿佛凝固了。


同事也反复确认 Hadoop 用户权限配置无误, 经过仔细排查,原来生产环境的 Apache SeaTunnel 服务以 seatunnel-user 运行, 而上传的 Jar 包所属用户却是root这个在本地无关紧要的细节,在生产环境成了拦路虎。


这个插曲教会我们,细节即魔鬼:在分布式系统中,一个字母的大小写、一个文件的属主,都可能引发蝴蝶效应

展望未来

感谢社区导师范佳在 CI 优化中的耐心指导,公司团队和团队成员支持,以及家人的理解与包容,让我能兼顾工作与开源。


希望 Apache SeaTunnel 成为数据集成领域的“瑞士军刀”,吸引更多企业用户和开发者。

用户头像

还未添加个人签名 2022-03-07 加入

Apache SeaTunnel(Incubating) 是一个分布式、高性能、易扩展、用于海量数据(离线&实时)同步和转化的数据集成平台。

评论

发布
暂无评论
Apache SeaTunnel 人物专访 | 张东浩:从使用者到Committer的开源历程_Apache SeaTunnel_InfoQ写作社区