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修复,可先在页面上与其他开发者讨论具体实现思路,确保思路可行并达到统一后再开始编码。
Forkhttps://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项目的参与流程也大致类似。