新贡献者指南#

本指南旨在为 Apache Arrow 的新贡献者提供帮助。

无论您目前的技能水平如何,都可以尝试完成您对 Arrow 的首次贡献。

参与像 Apache Arrow 这样的大型项目可能会让人望而却步。采取小步骤会让这项任务变得更容易。

为什么要为 Arrow 做贡献?#

您想要为 Arrow 做贡献的原因可能有很多:

  • 您觉得该项目很有趣,并希望尝试贡献以深入了解该库并提升自己的技能。

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

阅读 架构概述 部分以了解更多关于该项目的信息。

注意

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. 查找问题(如果需要)、创建新分支并处理该问题

    查找问题

    您可能已经有了想要修复的错误或想要实现的新功能。但如果您还没有目标,需要寻找一个可以处理的问题,可以查阅 查找适合新手的议题 🔎 部分获取灵感。

    了解项目结构

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

    您可以从阅读 使用 Arrow 代码库 🧐 部分开始。

    沟通

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

    查看可能的 沟通 渠道。

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

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

  6. 将分支推送到您的 fork 并创建拉取请求 (Pull Request)

    查看关于 创建拉取请求 的详细说明。如果您使用了 AI 工具来辅助生成贡献内容,请阅读我们关于 AI 生成代码 的指南。

如果您准备好了,可以从构建 Arrow 开始,或者选择跟随 教程 之一,学习如何编写 R 绑定或 Python 功能。

其他贡献方式#

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

  • 改进文档是开始贡献的绝佳方式!如需更多信息,请访问指南中的 帮助完善文档 部分。

  • Apache Arrow 手册 (Cookbooks) 是用于解决各种问题和完成使用 Apache Arrow 的不同任务的食谱集合。它们也是开始贡献的绝佳方式。如需更多信息,请访问 Apache Arrow 手册仓库中的 如何为 Apache Arrow 手册做贡献

欢迎查看 其他信息和资源 部分。

我们鼓励每个人都为 Arrow 做出贡献!

完整目录#