宝子们,最近 Apache SeaTunnel 又注入了新力量,迎来了几位超有能力、干劲十足的 Committer,王学鹏就是其中之一。
作为资深贡献者,王学鹏这次能当选 Committer 绝非偶然。长久以来,他在社区默默耕耘,点点滴滴的贡献大家都看在眼里。从初涉开源,到成为 Apache 基金会顶级项目的 Committer ,他心里肯定藏了不少故事,成长路上也有诸多感悟。
他究竟有着怎样的心路历程?又有哪些经验想分享给大家?快来围观社区对他的采访吧!
个人介绍
采访实录
- 您参与开源有多长时间了?开源为什么吸引你?
2023年接触开源,开源吸引我的一点是,个人写的代码能被行业内使用,很有成就感。
- 您从何时参与SeaTunnel开源贡献?契机是什么?
2023加入白鲸开源开始接触开源。
- 如今获推选为SeaTunnel Committer,总结一下您为社区所做的贡献,包括代码和非代码贡献。
大的功能pr主要是围绕构建SeaTunnel的元数据相关。在跑SeaTunnel任务的时候编写任务配置,需要频繁手写数据源连接信息,遇到文件类型任务的还要手写字段映射,就把这两块做了一个SPI功能接口MetadataProvider,接口主要暴漏两个方法:
- Map<String, Object> datasourceMap(String connectorIdentifier, String metaDataDatasourceId);
- Optional tableSchema(String metaDataTableId);
之前我也有在用户群里有用户提到过,数据源的账户密码都在Nacos里,只允许读。像这种场景就可以实现自定义的元数据中心,来实现连接信息的保护。
社区贡献总结:
| https://github.com/apache/seatunnel/pull/5663 | 为seatunnel添加save_mode功能 |
|---|---|
| https://github.com/apache/seatunnel/pull/10402 | seatunnel集成Gravitino |
| https://github.com/apache/seatunnel/pull/10586 | |
| https://github.com/apache/seatunnel/pull/10657 | 为seatunnel设计元数据的SPI接口 |
| https://github.com/apache/seatunnel/pull/10838 | 基于元数据SPI接口为seatunnel添加动态元数据功能 |
- 参与SeaTunnel项目这么久,相信您对于SeaTunnel项目和社区都有比较深的了解了。您认为SeaTunnel与其他竞品相比的不同点/优势是什么?不足之处是什么?SeaTunnel社区有哪些吸引您继续留下踊跃参与的地方?
SeaTunnel的优点有主要是引擎的选择很灵活,对于习惯使用Flink和Spark的团队来说,使用门槛很低。对于想轻量级实现数据同步来说,Zeta引擎是更好的选择。不足之处我觉得是web还有很大的优化空间。
SeaTunnel社区比较吸引我的一点是可以和社区里很多优秀的不同领域的小伙伴讨论实现方案,既能锻炼自己又能拓宽眼界。
- 您是否针对SeaTunnel的不足之处进行过二次开发?是否已贡献给社区?开发方案是否可以介绍一下?
对SeaTunnel进行过二次开发,主要是在使用过程中发现了一些bug会在公司仓库修改一份,开源社区再提交一份。
- 您还希望参与SeaTunnel社区能对您的个人成长提供什么样的支持?
其实只要主动参与社区的一些讨论,无论是issue的建立,或者是pr的提出,再或者是pr的review都会对本人有技术上的提升。
- 您对社区Committer角色的理解是什么?Committer应该在社区中做什么/起到什么作用?
成为Committer,我觉得首先是要对代码质量进行把关,其次是协助社区的往好的方向发展,比如指导新人提pr。
- 获推选Committer,您有什么感想/想对社区说的话,或对项目发展有什么建议?
首先很高兴能成为Committer,这代表着成为了Apache基金会的一员,身份很难得,同时也感谢社区小伙伴们的对我的指导和帮助。
- 未来一段时间,您个人在社区有何计划以推动项目进一步发展?
我会接着在元数据方向持续贡献,后续获取会扩展到数据血缘方向。