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

1. 介绍

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

2. 准备

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

2.1 账号准备

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

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

2.2 PR准备

  • 为鼓励开发者快速参与 Hudi 社区,社区会将一些简单任务标记为 starternewbie ,可通过这里(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.gitapache 仓库 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"

  • 进入 githubincubator-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项目的参与流程也大致类似。