前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >我与Apache SeaTunnel的不二情缘

我与Apache SeaTunnel的不二情缘

作者头像
tyrantlucifer
发布2023-03-09 16:00:58
4680
发布2023-03-09 16:00:58
举报
文章被收录于专栏:Tyrant LuciferTyrant Lucifer

关于我

我是tyrantlucifer,目前是Apache SeaTunnel社区的PPMC & Committer,在一家不知名公司任职大数据开发工程师,工作方向主要聚焦于数据集成领域的探索和实践,平时也会用诸如Spark、Flink这样的分布式计算引擎做一些业务数据处理的工作,我是一名纯粹的开源爱好者,喜好用爱发电,热爱写代码,今天很高兴能够再次受到社区邀请,在这里讲述我与Apache SeaTunnel的故事。

初识WaterDrop

熟悉SeaTunnel的老朋友们应该会知道,其实SeaTunnel没进孵化器之前就是市面上开源许久的WaterDrop,在SeaTunnel进孵化器的前期,我有幸因为工作缘故,接触到了WaterDrop,由此开启了我与SeaTunnel的不解情缘。

当时我在公司内部负责维护公司自己的数据集成引擎,但由于技术选型和当前业务的不匹配,导致数据传输效率过慢,引擎已经满足不了离线需求的日益增长,为了解决这个痛点,我去调研了WaterDrop,并被它的设计思路和架构深深吸引,并将它成功集成到了公司的数据集成引擎之上。

参与SeaTunnel贡献

在我接触完WaterDrop的一两个月后,WaterDrop成功进入到Apache孵化器并改名为SeaTunnel,当时的我第一时间就萌生了想为SeaTunnel贡献的想法,但实际上由于使用层次的不深入,我没办法找到很好的切入点去参与贡献,还依稀记得给项目提的第一个pull request是关于代码风格转换的:Optimize the code style by TyrantLucifer · Pull Request #966 · apache/incubator-seatunnel,实际上对于功能来说没有任何的帮助和改善,最后的结果也是无情的被社区拒绝,我的第一次尝试贡献以失败告终,但说实话这次失败并没有让我失去贡献的欲望,反而是愈加强烈,从那时起,我心中的便埋下了一颗种子,我认为它有朝一日终将能开花结果,我开始尝试去每天关注项目的issue和动态,关注有没有一些新手任务,宛如一条毒蛇一般伺机而动,往往机会总是留给有准备的人的,我也抓住了,某天社区决定重构api层,将之前的scala代码全部转换为java代码,对于早期的api架构我很熟悉,我认为这些任务很适合我上手,所以领取了我真正意义上第一个被merge的需求:[Feature][api] Translate seatunnel-api-spark module's scala code to java · Issue #1142 · apache/incubator-seatunnel,在做这个需求的时候,我自身认为很简单,可是在贡献过程中却遇到了很多的难题:

  1. 代码风格不规范
  2. CI跑不过
  3. Spark Streaming Scala 与 Java API不兼容

在经历了长达半个多月的多轮review以及社区大佬们的建议之下,我终于完成了自己Apache项目的第一次贡献,我相信很多小伙伴都会对自己的第一次贡献有很深刻的记忆,但也是这次艰难的贡献,成功向我开启了向SeaTunnel深度贡献的大门。

在今年的4 5月份,社区准备重构API层以做到与计算引擎解耦的目的,这是项比较大的工程,看到SeaTunnel有如此大的架构改动,我开始参与到这项比较大的任务里,去输出自己在数据集成领域积攒下来的经验,并落地到SeaTunnel中,在经过半年的不懈努力,SeaTunnel V2初具雏形,同时主仓库的大部分角落也留下了我的姓名和提交,在今年的11月底,我有幸被社区邀请成为PPMC Member,至此,我的种子终于开花结果,变成了一颗参天大树。

社区带给我的影响

在逐渐参与到深层次的Apache SeaTunnel的贡献过程中,我的角色从User,到一个Contributor,转变到一个Owner,角色的转换代表着身上所承担的责任和义务的转换,我学习到了Apache项目的管理规范,学习到了Apache的开源精神,随着社区贡献者的不断涌入,在技术设计和实现的思路上必定会出现不断的碰撞和摩擦,在这个探讨的过程中我成长了很多,我学习到了很多优秀的设计思路,学习到了很多代码规范,极大的拓宽了我整个人的技术思维,参与社区建设和贡献让我痛并快乐着,痛是因为我的业余时间都奉献给了社区,快乐是因为我个人也在吸收着社区反哺给我的营养而加速成长。

开源的乐趣

我是一个开源积极分子,从学生时代就已经是Github的常客,喜欢看各种大佬开源出来的项目,但大多数时间更像是一个User,并不是一个Contributor,工作后我有了一定的产品思维,将自己自用的小工具开源了出来,获得了700+的star,这是我在开源上尝到了第一个甜头,开源给予了我极大的虚荣心和满足感,作为一个程序员的价值体现就是他写的代码可以被别人认可且使用,我也渴望能够成为一个“厉害”的程序员,我渴求得到别人的认可,开源恰好给了我这个机会,试想,当你写的代码跑在成千上万台机器上为人类创造价值,这种油然而生的自豪感会贯穿到整个心扉,我认为这是对我个人价值和技术水平的最高肯定和赞誉。

开源让一群志同道合的人聚到了一起,在开源社区中可以认识到很多的朋友,参与Apache SeaTunnel社区建设和贡献我认识到了很多优秀的同龄人,诸如CalvinKirs,ashulin,ic4y,wuchunfu,hailin0,Hisoka-X等,他们跟我年龄相仿技术水平和成就却是我的好几倍,我希望有朝一日能够追赶上他们的步伐,成为一个“厉害”的程序员。

致下一个贡献者的你

在这里借用William-GuoWei老师的一句话来送给大家:

代码语言:javascript
复制
“中国没有开源”这个观点我是不愿意相信的。我相信这一代年轻人,不仅仅是程序猿,而是越来越多的人,愿意参加到各行各业的非盈利团体当中去,贡献自己的想法、代码、知识,让这个世界变得更加美好。

新一代年轻人成长在一个良好的技术分享时代,信息的获取和触达相比于老一辈来讲有了质的飞跃,技术是不断分享不断碰撞不断创新才会有质的变化和跨时代的进步,中国有句古话:众人拾材火焰高,希望越来越多怀揣梦想的年轻人能够参与到开源贡献中来,从而达到量变引起质变。

在如今这个时代,已经有很多前辈为我们铺路布道,参与开源贡献已经没有任何门槛,缺少的只是贡献者的勇气和信念,It's now or never,这是我非常喜欢的一句话,机不可失,时不待我,如果不是现在,那是什么时候呢?

尾篇

如果在Apache SeaTunnel使用过程中遇到问题或者咨询贡献相关事宜,有以下几种方式联系到我:

Github:https://github.com/tyrantlucifer

E-mail:tyrantlucifer@apache.org

WeChat:tyrantlucifer

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-12-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Tyrant Lucifer 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关于我
  • 初识WaterDrop
  • 参与SeaTunnel贡献
  • 社区带给我的影响
  • 开源的乐趣
  • 致下一个贡献者的你
  • 尾篇
相关产品与服务
数据集成
数据集成(DataInLong)源于腾讯开源并孵化成功的 ASF 顶级项目 Apache InLong(应龙),依托 InLong 百万亿级别的数据接入和处理能力支持数据采集、汇聚、存储、分拣数据处理全流程,在跨云跨网环境下提供可靠、安全、敏捷的全场景异构数据源集成能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档