对话新晋 Apache SeaTunnel Committer:张圣航的开源之路与技术洞察
近日,张圣航被推选为 Apache SeaTunnel 的 Committer成员。带着对技术的热情和社区的责任,他将如何跟随 Apache SeaTunnel 社区迈向新的高度?让我们一起来聆听他的故事。
自我介绍
请您简单介绍一下自己,包括职业背景、当前的工作以及加入 Apache SeaTunnel 社区的起点。

- **您的全名:**张圣航
- **邮箱:**shenghang@apache.org
- **当前职位/角色:**大数据架构师
- **主要技术方向:**从事汽车行业,大数据架构师,负责数据平台整体工作,主导数据运维、同步、开发等平台建设,为业务系统提供高效数据支撑。
- **加入SeaTunnel社区的时间:**2024年6月
- **最初如何接触到SeaTunnel这个项目的:**当时使用的是 DataX ,而 DataX 作为一款经典单机离线的数据集成工具,缺乏服务化及分布式处理能力,在大规模数据同步场景下存在明显局限,需要一款更全面的数据集成框架,基于以上痛点,我们选择并使用了Apache SeaTunnel!
社区贡献之路
您在成为 Committer 之前,对社区都有哪些贡献?
您的第一个贡献是什么?
- Kafka 消费者组自动提交偏移量逻辑错误的修复
哪些具体的功能、改进或活动是您主导的?
- 新增 Seatunnel Engine 任务调度 Pendding 队列特性
- https://github.com/apache/seatunnel/pull/7693
- 支持 Kafka Protobuf 数据格式支持
- https://github.com/apache/seatunnel/pull/7361
- 支持 Kerberos 在 e2e 中的测试
- https://github.com/apache/seatunnel/pull/8108
- https://github.com/apache/seatunnel/pull/8159
- 新增 Seatunnel Engine资源调度算法
- https://github.com/apache/seatunnel/pull/8233
- 新增 Hbase Sink TTL 特性
- https://github.com/apache/seatunnel/pull/7116
- 新增 Api 获取日志特性
- https://github.com/apache/seatunnel/pull/7818
- 修复Flink Source Busy 100%忙碌问题
- https://github.com/apache/seatunnel/pull/8354
- 支持 Typesense 连接器
- https://github.com/apache/seatunnel/pull/7450
- 支持配置变量的默认值替换
- https://github.com/apache/seatunnel/pull/7562
- 修复 Doris 自定义 SQL 未执行问题
- https://github.com/apache/seatunnel/pull/7464
- 修复Kafka消费者组自动提交偏移量逻辑错误
- https://github.com/apache/seatunnel/pull/6961
- 修复Flink模式下 RabbitMQ checkpoint 异常等
- https://github.com/apache/seatunnel/pull/7108
在贡献过程中,您遇到了哪些挑战,又是如何克服的?
- Engine、Connector、Transform每一个环节都有大量源码,在学习的过程中还是有一点难度,非常感谢社区的技术小伙伴,其中特别想感谢范佳、海林等大佬的解惑,加快了我对SeaTunnel的了解。
成为 Committer 的感受
成为 Committer 对您来说意味着什么?
- 能够更好地推动社区发展,帮助新贡献者融入,促进更多人参与开源项目,推动国内开源文化的普及。同时有机会与行业内大佬交流,深入参与项目的技术讨论和架构设计,
洞察 SeaTunnel
-
在您看来,SeaTunnel 作为一个开源项目的独特优势是什么?
- 高度可扩展性、多种数据源支持、高效稳定的数据处理能力、活跃的社区支持、易于使用和部署
-
您最喜欢 SeaTunnel 的哪些功能或特性?
- 实时数据集成能力
对社区的寄语
您对社区成员,尤其是想要加入开源项目的新手,有什么建议?
- 不要害怕源码读不懂,搞不定,阅读源码是每个开发者成长过程中必经的阶段,很多功能的优化并不复杂,我在SeaTunnel的第一个PR就是修改了一个简单的判断逻辑,修复一个Bug。
如果开发者想要开始参与贡献 SeaTunnel,您会推荐他们从哪些方面入手?
-
可以按照下面几个步骤开展:
1.先了解使用项目:下载并使用,熟悉功能和问题。
2.阅读贡献指南:熟悉项目的贡献流程和要求。
3.从小任务开始:如修复文档、简单bug,逐步积累经验。
4.参与社区讨论:加入邮件列表、微信群等,了解项目动态。
5.保持耐心:接受反馈,逐步改进。
感谢展望🙏
您如何平衡工作、开源贡献与生活?
- 哈哈,下班后少刷手机,工作之余多在开源社区活跃,好几位SeaTunnel的PMC/Committer经常在很晚的时候还在跟我持续交流!非常敬佩且折服!
有哪些人或团队在您的开源之路上给予了特别的支持?
- 当然是WhaleOps了,作为基于Apache SeaTunnel开发并发布对应商业版的公司,白鲸开源的技术大佬们都很热情低调!
对 SeaTunnel 社区的未来,您有什么样的期待?
Apache SeaTunnel 在数据集成的基础能力方面已经展现出十分强大的实力,然而,在当前数据处理愈发注重用户体验和操作便捷性的趋势下,可视化界面的突破对于其进一步拓展用户群体、提升用户满意度以及降低使用门槛等方面显得尤为重要,这将为非技术专业人员更高效地利用 SeaTunnel 进行数据集成任务提供有力支持。
本文由 白鲸开源科技 提供发布支持!
相关文章:
对话新晋 Apache SeaTunnel Committer:张圣航的开源之路与技术洞察
近日,张圣航被推选为 Apache SeaTunnel 的 Committer成员。带着对技术的热情和社区的责任,他将如何跟随 Apache SeaTunnel 社区迈向新的高度?让我们一起来聆听他的故事。 自我介绍 请您简单介绍一下自己,包括职业背景、当前的工作…...
Mac 删除ABC 输入法
参考链接:百度安全验证 Mac下删除系统自带输入法ABC,正解!_mac删除abc输入法-CSDN博客 ABC 输入法和搜狗输入法等 英文有冲突~~ 切换后还会在英文状态,可以删除 ;可能会对DNS 输入有影响,但是可以通过复…...
《机器学习》之K-means聚类
目录 一、简介 二、K-means聚类实现步骤 1、初始化数据点、确定K值 2、通过距离分配数据点 3、更新簇中心 4、 迭代更新 三、聚类效果评价方式 1、轮廓系数的定义 2、整体轮廓系数 3、使用场景 4、优点 5、缺点 6、代码实现方法 四、K-means聚类代码实现 1、API接…...
日常工作之 Elasticsearch 常用查询语句汇总
日常工作之 Elasticsearch 常用查询语句汇总 查询现有索引创建索引查询索引结构插入数据查询索引数据查看索引磁盘占用信息删除索引查看分词器分词结果指定查询数量指定条件查询数据迁移统计索引数据量更新数据 在使用 es 的过程中,总是会用到 es 的查询语句&#x…...
WeakAuras NES Script(lua)
WeakAuras NES Script 修星脚本字符串 脚本1:NES !WA:2!TMZFWXX1zDxVAs4siiRKiBN4eV(sTRKZ5Z6opYbhQQSoPtsxr(K8ENSJtS50(J3D7wV3UBF7E6hgmKOXdjKsgAvZFaPTtte0mD60XdCmmecDMKruyykDcplAZiGPfWtSsag6myGuOuq89EVDV9wPvKeGBM7U99EFVVVV33VFFB8Z2TJ8azYMlZj7Ur3QDR(…...
JVM 触发类加载的条件有哪些?
目录 一、类加载生命周期 二、主动引用 2.1、创建类的实例 2.2、访问类的静态字段或静态方法 2.3、反射 2.4、初始化类的子类时,先初始化父类 2.5、虚拟机启动时,初始化 main 方法所在的类 2.6、动态语言支持 三、被动引用 3.1、通过子类引用父…...
Android实战经验篇-增加系统分区
系列文章转如下链接: Android Display Graphics系列文章-汇总 Android实战经验篇-系列文章汇总 本文主要包括部分: 一、Android分区说明 1.1 系统分区查看 1.2 分区表修改 1.3 验证新分区 二、源码修改 2.1 generate_extra_images 2.2 fstab 2…...
深入学习 Python 量化编程
深入学习 Python 量化编程 第一章:Python 基础与量化编程环境搭建 1.1 安装必要的库 首先,你需要安装一些在量化编程中常用的 Python 库。可以通过以下命令安装这些库: pip install numpy pandas matplotlib yfinance backtrader scikit-…...
机器学习笔记——特征工程
大家好,这里是好评笔记,公主号:Goodnote,专栏文章私信限时Free。本笔记介绍机器学习中常见的特征工程方法、正则化方法和简要介绍强化学习。 文章目录 特征工程(Fzeature Engineering)1. 特征提取ÿ…...
4种革新性AI Agent工作流设计模式全解析
文章目录 导读:AI Agent的四种关键设计模式如下:1. 反思2. 工具使用3. 规划4. 多Agent协作 总结内容简介: 导读: AI Agent是指能够在特定环境中自主执行任务的人工智能系统,不仅接收任务,还自主制定和执行…...
【入门级】计算机网络学习
网络安全:前端开发者必知:Web安全威胁——XSS与CSRF攻击及其防范-CSDN博客 三次握手四次挥手:前端网络—三次握手四次挥手_前端三次握手-CSDN博客 http协议和https协议的区别:前端网络—http协议和https协议的区别-CSDN博客 网…...
安装 Jenkins 后无法访问用户名或密码且忘记这些凭证怎么办?
Jenkins 是一款功能强大的自动化服务器,在持续集成与交付(CI/CD)领域应用广泛。不过,用户在使用过程中,尤其是首次接触该系统或系统重启后,常常会遇到登录方面的问题。要是 Jenkins 突然要求输入用户名和密…...
day08_Kafka
文章目录 day08_Kafka课程笔记一、今日课程内容一、消息队列(了解)**为什么消息队列就像是“数据的快递员”?****实际意义**1、产生背景2、消息队列介绍2.1 常见的消息队列产品2.2 应用场景2.3 消息队列中两种消息模型 二、Kafka的基本介绍1、…...
安装conda 环境
conda create -n my_unet5 python3.8 (必须设置3.8版本) conda activate my_unet5...
【dockerros2】ROS2节点通信:docker容器之间/docker容器与宿主机之间
🌀 一个中大型ROS项目常需要各个人员分别完成特定的功能,而后再组合部署,而各人员完成的功能常常依赖于一定的环境,而我们很难确保这些环境之间不会相互冲突,特别是涉及深度学习环境时。这就给团队项目的部署落地带来了…...
使用外网访问在群晖中搭建思源docker
还是要折腾,之前发现用公网IP可以访问就没有折腾,今天ip变了,用不了了,一搜,发现有方法可以用域名访问,哎,太好了! 原文:分享我在 群晖 docker 部署 思源笔记 步骤 - 链…...
深度学习中的EMA技术:原理、实现与实验分析
深度学习中的EMA技术:原理、实现与实验分析 1. 引言 指数移动平均(Exponential Moving Average, EMA)是深度学习中一种重要的模型参数平滑技术。本文将通过理论分析和实验结果,深入探讨EMA的实现和效果。 深度学习中的EMA技术:原理、实现与…...
win32汇编环境,窗口程序中对按钮控件常用操作的示例
;运行效果 ;win32汇编环境,窗口程序中对按钮控件常用操作的示例 ;常用的操作,例如创建按钮控件,使其无效,改变文本,得到文本等。 ;将代码复制进radasm软件里,直接就可以编译运行。重点部分加备注。 ;>&g…...
CentOS 7.9 通过 yum 安装 Docker
文章目录 前言一、删除已安装的 Docker二、网络设置三、设置 yum 源,并安装依赖四、设置 Docker 仓库五、安装及使用 Docker六、镜像仓库总结 前言 CentOS 7.9 过了维护期,Docker 官方文档没有了相关的安装文档。记录一下,备用! …...
【开源免费】基于Vue和SpringBoot的英语知识应用网站(附论文)
本文项目编号 T 138 ,文末自助获取源码 \color{red}{T138,文末自助获取源码} T138,文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...
逻辑回归:给不确定性划界的分类大师
想象你是一名医生。面对患者的检查报告(肿瘤大小、血液指标),你需要做出一个**决定性判断**:恶性还是良性?这种“非黑即白”的抉择,正是**逻辑回归(Logistic Regression)** 的战场&a…...
基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...
智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...
vue3 字体颜色设置的多种方式
在Vue 3中设置字体颜色可以通过多种方式实现,这取决于你是想在组件内部直接设置,还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法: 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...
C++ 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
浅谈不同二分算法的查找情况
二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况…...
Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...
