你在使用哪种编程语言?快来投票,亲手选出你心目中的编程语言之王 了解详情
写点什么

Hadoop Committer 如何炼成?爱奇艺新晋核心贡献人给出了这份攻略!

2021 年 6 月 21 日

Hadoop Committer如何炼成?爱奇艺新晋核心贡献人给出了这份攻略!

近日,全球最大的开源基金会 Apache 基金会的大数据开源社区 Hadoop 公布了最新一批 Committer(核心贡献人),爱奇艺大数据团队的朱琦同学接受 Apache 社区邀请,正式成为了 Hadoop Committer 的一员。


朱琦从 2018 年开始为 Apache 社区贡献,被 merge(合并)过超万行代码,这也是爱奇艺首位 Hadoop Committer


来自 Apache 的邀请邮件


成为一名 Hadoop Committer 需要哪些品质?又有哪些责任?如何在开源工作和日常工作中寻找平衡?就这些问题,我们和朱琦聊了聊,深入了解了在爱奇艺,一名年轻的 Hadoop Committer 如何炼成。

Apache Hadoop Committer 如何选出?

对于不太熟悉的同学,我们可能需要先解决几个问题。什么是 Apache Hadoop?Committer 又是怎样被选出来的?


了解大数据领域的读者对 Apache Hadoop 肯定不会陌生,这款开源软件的分布式应用程序根据谷歌公司发表的 MapReduce 和 Google 论文自行实现而成,目前已经是全球最受欢迎的的大数据开源软件框架之一。

Apache 每个项目会安排相关委员会(PMC)和若干 Committer。选举方式和组织结构都比较明确。Committer 的主要责任是维护项目持续发展,比如项目新功能的开发,提出新的功能作为发展趋势,除了可以直接提交代码,还可以一票否决任何一个 Patch。


Hadoop 作为全球最“数据中心的操作系统”,对代码质量要求比较高。因此要成为一名 Apache Hadoop Committer,你首先必须要对社区已有开源代码和结构设计有深刻理解。因为 Hadoop 涉及到不少分布式计算里相对复杂的概念,完全理解现有设计和代码已经是一件很不容易的事情了。


此外,成为 Committer 还要在至少一个大的 feature 方向上是主力贡献人,这一点主要是通过被项目合并的代码数量体现,也就是说,对 merged 代码数量上有一定硬性规定。


Hadoop 作为大数据底层的支撑项目,一般改代码量不会很多,这就意味着,贡献者不仅要有过硬的代码技能和专业知识,还得真实解决过社区的项目问题,才能被 PMC 提名,获得入选机会。朱琦告诉我们,他在当选 Committer 之前,目前已经有超过万行代码被社区合并。


目前,全球共有 230 多位 Hadoop Committer,其中来自中国的 Committer 有十余名

从非计算机专业,到 Hadoop Committer

虽然还很年轻,但朱琦在开源社区的工作经验已经非常扎实了。朱琦本科主修化学材料,因为选修了一门程序语言设计课程对软件行业产生了浓厚的兴趣,于是在研究生阶段直接转到了计算机相关专业。虽然专业不是大数据方向,但他一直对大数据特别是 Hadoop 非常感兴趣。


工作后朱琦开始接触 Hadoop 项目,加入爱奇艺后在智能平台部门承担与大数据相关的工作,也因为工作原因,对一些大项目的底层源码研究很多,日积月累积累了看代码的能力。


图 2:朱琦生活照


(代码)的输入非常重要,要输出必须要有输入。作为开源社区贡献者的前提是有输入,得理解了原先代码的逻辑,才能输入开发改造新的模块,才能有积累。”朱琦表示,“接触开源社区最开始是作为 Contributor 做一些贡献,从发现小问题、流程化的东西开始研究。慢慢把流程搞懂之后,就可以开始深入代码了。”


在积极参与开源社区的过程中,朱琦自己也收获了很多。从作为一个参与者可以了解一个顶级项目的发展触类旁通,到现在成为 Committer,为社区的其他成员和社区发展解决了不少问题,也研究了很多代码。“现在去其他项目也比较能了解代码逻辑,也可以为公司各个大数据项目做贡献。



在公司中,朱琦也发现,越来越多的同学开始参与到了开源项目中,一起深入了解各个项目。“这一方面也能反馈给公司底层部门,比如大数据相关内容,维护能力就变强了,另一方面可以提升成本优化和性能优化,减少公司实在支出,提升用户体验,更有利于平台推广。”

爱奇艺持续建设开源文化,回馈社区

这些年,爱奇艺一直非常重视开源文化的发展,成立了开源工作组,发布了规范的开源项目流程,致力于建立规范、有序、安全的开源体系架构,鼓励项目内部、外部开源,增强技术交流,提高研发效率。


爱奇艺自己的一些业务实践探索,也会积极回馈到开源社区中,解决了不少开源社区中的项目问题。以朱琦所在的大数据团队为例,爱奇艺大数据架构和开源社区始终保持同步良性发展。


“比如爱奇艺最近紧跟社区对 Hadoop 相关的架构进行升级,针对新的 hadoop 项目去做测试,这个过程中就会出现一些问题,爱奇艺自己出现的问题就会回馈社区,一方面可以回馈社区,另一方面也解决了社区问题。”


基于 Hadoop 的开源内容,爱奇艺自己的业务改进已经有不少合入了社区,已经 Merge 了 Hadoop 相关的部分包括:CS 调度器统一 FS 的兼容性,全局调度优化,GPU 资源相关的优化,大规模集群事件驱动的优化,弹性伸缩队列,Proxy server 优化,Router Based Federation 问题修复和优化,等功能。


和朱琦一样,爱奇艺中不少员工也都是开源社区的积极参与者。他们在开源社区中贡献代码、解答其他社区参与者遇到的问题,维持社区的正常、有序运转。


朱琦对此深有感触,“Apache 发展十几年,就是因为有不同的用户和开发者,良性维护生态,共同交流互动。大家一方面在这里交流经验,解决自己遇到的问题,另一方面也可以从别的公司或者开发者提出的相关问题中吸收经验,防范于未然。”

从入门到终极,开源进阶攻略!

亲历了开源文化近些年在国内的发展,朱琦也颇为感慨。


“之前开源其实没有这么火热,大家对开源的理解就是借来用,不太愿意贡献和参与其中,但也存在不少问题。很多公司没有使用开源项目,是闭源的,相关研发人员离职,代码就有很多历史包袱。现在开源已经是一个大趋势,对公司来说,现在国内外各个互联网公司,特别是爱奇艺内部工程师文化建设中,都越来越重视开源文化了,通过开源,不仅公司的项目也会越来越好,贡献者本身也可以从中获得很多。


最后,朱琦也对想要入门开源文化的同学,给出了一些从入门、进阶到终极的建议。

入门

熟悉开源项目的贡献流程,各个项目都会有 how to contribute 的文档。


小的问题着手开始贡献,例如代码中的拼写错误,项目文档的改进,小的 bug 的修复。

进阶

能够对项目在生产环境产生的问题,或者社区用户遇到的问题进行修复,性能优化等。

终极

对于项目的重大 feature 的设计文档进行理解,甚至参与设计文档,然后根据项目架构进行添加子任务进行开发贡献。


“总体来说,开源社区贡献是一件需要持续花费时间和精力的事情。从吃透一个模块开始,逐渐深入,多贡献,也多参与问题讨论和 review 代码,祝大家都能在开源社区走得更远更好。”


本文转载自:爱奇艺技术产品团队(ID:iQIYI-TP)

原文链接:Hadoop Committer如何炼成?爱奇艺新晋核心贡献人给出了这份攻略!

2021 年 6 月 21 日 13:00601

评论

发布
暂无评论
发现更多内容

户外广告上半年经验总结,下半年机遇探寻

󠀛Ferry

5月日更

【IGS大会回顾】穿越火线手游背后的数据库TcaplusDB

tcaplus

数据库 游戏 TcaplusDB

iOS开发-60分钟入门

iOSer

ios iOS Document 移动开发 ios开发 iOS Developer

TcaplusDB小知识 | 客户端及常用命令

tcaplus

数据库 游戏 TcaplusDB

第一次凡尔赛,字节跳动3面+腾讯6面一次过,谈谈我的大厂面经

Java架构师迁哥

Hive|如何避免数据倾斜

数据社

hive 5月日更

太顶了!阿里大牛离职带出来的这份“Java架构核心宝典”学习笔记,差距不是一点点

云流

Java 程序员 架构 面试

公安合成作战平台建设解决方案,情指一体化系统开发

WX13823153201

模块 4 作业

鲲哥

架构实战营 - 模块 5- 作业

泄矢的呼啦圈

架构实战营

春招失利,狂刷200+面试文档,终斩获头条,阿里offer~(Java岗)

Crud的程序员

Java spring 架构 编程语言

量化交易软件开发源码,马丁量化策略交易平台搭建app

WX13823153201

金三银四旗开得胜!春招字节正式批4面,顺利拿到offer

云流

Java 程序员 架构 面试

喜讯!腾讯团队Redis技术笔记,下载量已突破30W;附下载方式

Java架构师迁哥

接招吧!最强“高并发”系统设计 46 连问,分分钟秒杀一众面试者

你看起来很好吃

面试 高并发 Java 25 周年

领域驱动设计101 - 值对象

luojiahu

领域驱动设计 DDD

Java岗熬了6年,终成P8,只因搞懂了这七件事

Java架构师迁哥

【TcaplusDB君】 行业新闻汇编(5月25日)

tcaplus

数据库 游戏 TcaplusDB

Mysql InnoDB使用的锁

water

架构师实战营-模块4-设计千万级学生管理系统的考试试卷存储方案

吴建中

架构实战营

教你一招:让集群慢节点无处可藏

华为云开发者社区

节点 GaussDB 集群 慢节点 慢实例

TcaplusDB 【承诺戒烟,从你我做起】

tcaplus

数据库 游戏 TcaplusDB

不是我吹!看完阿里高工码出Java150K字面试宝典,进大厂稳了

云流

Java 程序员 架构 面试

fil的gas费降低了吗?fil矿机挖币最新消息?

v:IPFS456

fil的gas费降低了吗? fil矿机挖币最新消息?

真香!阿里内部强推GC小册Github一夜爆火,JVM垃圾回收算法+实战一键搞定!

程序员小毕

Java 程序员 架构 面试 JVM

Github上“Java面试考点大全”被我扒下来了,20+互联网公司,应有尽有

Java架构师迁哥

IDEA中request获取不到getParameter方法

anuyyy

javaWeb Request getParameter

涨薪神作!美团大佬带你揭秘Spring AOP的底层原理及实现,限时领

java专业爱好者

Java spring spring aop

从外包辞职再到入职字节那天,我落泪了,没人知道我付出了多少

Java架构师迁哥

kube-controller-manager之AD Cotroller源码分析

良凯尔

Kubernetes 源码分析 Ceph CSI

别再说什么渗透学到好 牢饭少不了之类的话了。你,够格吗?(渗透tp技巧)

Machine Gun

Java Python 网络安全 信息安全 渗透测试

围绕“三个问题”开展的网易云音乐数据基础建设

围绕“三个问题”开展的网易云音乐数据基础建设

Hadoop Committer如何炼成?爱奇艺新晋核心贡献人给出了这份攻略!-InfoQ