1. 介绍

数据湖作为下一代技术,概念持续火热,国内外已经有越来越多的公司开始调研并采用 ​ApacheHudi​。开发者对于新的 ​feature​、发现的 ​bug​、对项目的 ​question​等, ​Hudi​社区都鼓励开发者通过邮件列表、提 ​JiraIssue​、 ​PR​等方式参与社区,这样能形成良好的社区氛围,促进社区快速发展。对于想要参与社区开发但还不知道如何参与的开发者,本篇文章给出了指引。

2. 准备

若开发者之前已经参与过Apache社区的其他项目,对此流程应该非常熟悉,可略过余下部分,直接提出你的第一个Hudi PR!

2.1 账号准备



​Github​​账号,作为开发者理应人手一个。





​JIRA​​账号,基本上所有 ​​Apache​​项目都通过 ​​jira​​跟踪管理 ​​feature​​或 ​​bug​​,可通过如下地址https://issues.apache.org/jira/secure/Signup!default.jspa注册 ​​jira​​账号。




2.2 PR准备




为鼓励开发者快速参与 ​​Hudi​​社区,社区会将一些简单任务标记为 ​​starter、newbie​​,可通过这里(https://issues.apache.org/jira/issues/?jql=project+%3D+HUDI+AND+component+%3D+newbie)查找新手任务,对于未修复的 ​​jira​​单,用户可 ​​assign​​给自己,对于较大功能修改或bug修复,可先在页面上与其他开发者讨论具体实现思路,确保思路可行并达到统一后再开始编码。


Fork https://github.com/apache/incubator-hudi/ 到自己的仓库(可顺手star)。





Clone自己仓库的 ​​incubator-hudi​​到本地。





​cd incubator-hudi​​ 进入本地项目根目录。





​git remote add upstream https://github.com/apache/incubator-hudi.git​​ 将 ​​apache​​仓库 ​​incubator-hudi​​添加为 ​​upstream​​。后续可使用 ​​git fetch upstream master,git merge upstream/master,git push origin master​​来同步 ​​apache​​仓库 ​​master​​分支的修改至自己远程仓库的 ​​master​​分支,当然也可以选择其他工作流,如将 ​​apache​​仓库的项目添加为 ​​origin​​,自己仓库的项目添加为 ​​upstream​​,同步仓库的修改操作也类似。





基于 ​​Apache​​仓库的 ​​master​​分支最新代码, ​​checkout​​新分支(一般建议根据 ​​jira​​号创建,如 ​​git checkout-b HUDI-666​​)。





在新分支上修改代码,完成修改后使用 ​​git add.​​, ​​git commit-m"[HUDI-666] pr description"​​, ​​git push origin HUDI-666:HUDI-666​​推至自己仓库的远端, ​​commit​​信息一般建议使用 ​​[HUDI-xxx]jira summary​​的格式,如 ​​git commit-m"[HUD-666] refactor hudi-common based on new checkstyle"​​。





进入 ​​github​​的 ​​incubator-hudi​​页面发起一个 ​​PR​​,然后等待 ​​review​​(社区会有专人进行 ​​review​​,效率较高)和 ​​merge​​。




2.3 加入Slack

为方便 ​Hudi​开发者快速交流, ​Hudi​社区创建了 ​HudiSlackChannel​,可在这里https://github.com/apache/incubator-hudi/issues/143留下你的邮箱,会有人邀请你加入 ​HudiSlackChannel​。

2.4 订阅邮件列表

为方便归档和符合 ​Apache​社区运行之道,社区建议使用邮件列表讨论问题、进行投票等,可订阅dev@hudi.apache.org(建议尽量不要使用qq邮箱订阅,可能会被过滤掉)。

订阅方式很简单,给dev-subscribe@hudi.apache.org发送一封邮件,收到回复后再进行一次确认回复即可。完成订阅后即可参与和发起在dev@hudi.apache.org的讨论。

3. 总结

Hudi​社区非常欢迎和鼓励广大开发者参与到社区建设中来,一起促进 ​Hudi​社区的发展,取之开源、回馈开源,一起促进数据湖技术的发展,期待你的第一个PR!

PS:其他Apache项目的参与流程也大致类似。

快速参与下一代数据湖顶级项目ApacheHudi_git