当前位置: 首页 > news >正文

对话新晋 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. 特征提取&#xff…...

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 国内…...

【网络】每天掌握一个Linux命令 - iftop

在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?

大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...

椭圆曲线密码学(ECC)

一、ECC算法概述 椭圆曲线密码学(Elliptic Curve Cryptography)是基于椭圆曲线数学理论的公钥密码系统,由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA,ECC在相同安全强度下密钥更短(256位ECC ≈ 3072位RSA…...

FFmpeg 低延迟同屏方案

引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)

目录 1.TCP的连接管理机制(1)三次握手①握手过程②对握手过程的理解 (2)四次挥手(3)握手和挥手的触发(4)状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

质量体系的重要

质量体系是为确保产品、服务或过程质量满足规定要求,由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面: 🏛️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限,形成层级清晰的管理网络&#xf…...

华为OD机试-食堂供餐-二分法

import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...

【算法训练营Day07】字符串part1

文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接&#xff1a;344. 反转字符串 双指针法&#xff0c;两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...

相机从app启动流程

一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

Psychopy音频的使用

Psychopy音频的使用 本文主要解决以下问题&#xff1a; 指定音频引擎与设备&#xff1b;播放音频文件 本文所使用的环境&#xff1a; Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...