新贡献者指南#

本指南是为新贡献者提供的 Apache Arrow 贡献资源。

无论您目前的技能水平如何,都可以尝试第一次为 Arrow 贡献代码。

开始为一个像 Apache Arrow 这样的项目做贡献可能会令人望而生畏。循序渐进将使这项任务变得更容易。

为什么要为 Arrow 做贡献?#

您可能出于各种原因想为 Arrow 做贡献

  • 您觉得这个项目很有趣,想尝试做贡献以了解更多关于该库的知识并提升您的技能。

  • 您正在进行的项目中使用了 Arrow,并且您想实现一个新功能或修复您遇到的一个 bug。

架构概述部分阅读更多关于本项目的信息。

注意

Apache Arrow 的贡献者们遵循 ASF 的行为准则

快速参考#

以下是设置和为 Arrow 做贡献所需的基本步骤。这既是一个清单,也提供了整个过程的概览。

有关完整说明,请遵循提交第一个 PR 的步骤(分步指南),或参考 R 和 Python 教程,了解添加基本功能的示例。

  1. 安装和设置 Git,并 fork Arrow 仓库

    查看关于如何设置 Git 和 fork Arrow 仓库的详细说明。

  2. 构建 Arrow

    Arrow 库包含广泛的功能,可能需要安装第三方软件包,具体取决于您启用的构建选项和组件。C++ 构建指南提供了常见问题的建议 - 您可以在此处找到它。任何时候遇到困难,请随时通过适当的交流渠道联系我们。

    查看关于PyArrow 或 R 包构建过程的简短说明,或直接在文档中查看关于如何构建 Arrow 库之一的详细说明。

  3. 运行测试

    我们应该运行测试来检查一切是否正常工作。例如,您可以在终端中为 Python 运行测试

    $ pytest pyarrow
    

    或在 R 控制台中为 R 运行测试

    devtools::test()
    

    另请参阅关于测试 🧪的章节。

  4. 寻找一个问题(如果需要),创建一个新分支并着手解决问题

    寻找问题

    您可能已经想到了要修复的 bug,或者要实现的新功能。但如果您没有想法,并且需要一个问题来着手,那么您可能需要帮助来寻找它。阅读寻找适合新手解决的问题 🔎章节以获取一些想法。

    熟悉项目

    开始一个新项目时,第一步是最困难的,因此我们编写了一些指南来帮助您。

    您可以从阅读在 Arrow 代码库上工作 🧐章节开始。

    交流

    沟通非常重要。您在过程中遇到的问题可能需要一些帮助来解决(开发者经常会遇到这种情况)。此外,如果您想解决某个 GitHub issue,建议告知团队您正在处理,并且可能需要一些帮助。

    查看可能的交流渠道。

  5. 实现计划的修复或功能后,编写并运行相应的测试

    查看关于如何测试的详细说明。在进行下一步之前,还要运行 linter 以确保代码格式正确!

  6. 将分支推送到您的 fork,并创建 Pull Request

    查看关于创建 Pull Request的详细说明

如果您已准备好,可以开始构建 Arrow,或者选择按照某个教程来编写一个 R 绑定或 Python 功能。

不同的贡献方式#

除了编写代码,还有很多其他方式可以为项目做贡献!

  • 改进文档是开始贡献的好方法!更多信息请访问本指南的协助文档工作章节。

  • Apache Arrow Cookbooks 是一系列关于如何使用 Apache Arrow 解决各种问题和完成不同任务的“食谱”(代码示例)。它们也是开始贡献的好方法。更多信息请访问位于 Apache Arrow Cookbook 仓库中的如何为 Apache Arrow Cookbook 做贡献

也欢迎您查看补充信息和资源章节。

我们鼓励所有人为 Arrow 做贡献!

完整目录#