跳过内容

概述

R arrow 包为 R 用户提供了访问 Apache Arrow C++ 库 的许多功能。arrow 的目标是为 dplyr 提供一个 Arrow C++ 后端,并通过熟悉的 R 基础函数和 tidyverse 函数,或者 R6 类来访问 Arrow C++ 库。R 包的专用网站位于此处

要了解有关 Apache Arrow 项目的更多信息,请参阅父级 Arrow 项目 的文档。Arrow 项目提供了广泛的数据分析任务功能,可以快速存储、处理和移动数据。请参阅 读/写文章 了解如何读取和写入数据文件,数据整理 了解如何使用 dplyr 语法处理 arrow 对象,以及 函数文档 获取 dplyr 查询中支持函数的完整列表。

安装

最新版本的 arrow 可以从 CRAN 安装。在大多数情况下,安装最新版本应该无需任何额外的系统依赖项,尤其是在您使用 Windows 或 macOS 的情况下。

如果您在从 CRAN 安装时遇到问题,我们提供两种替代安装选项来获取最新的 arrow 版本。首先,R-universe 为最常用的操作系统提供了预编译的二进制文件。1

install.packages("arrow", repos = c("https://apache.r-universe.dev", "https://cloud.r-project.org"))

其次,如果您使用 conda,则可以从 conda-forge 安装 arrow。

conda install -c conda-forge --strict-channel-priority r-arrow

有一些特殊情况需要注意

  • 在 macOS 上,您与 Arrow 一起使用的 R 应与您正在使用的机器的架构匹配。如果您使用的是 ARM(又称 M1、M2 等)处理器,请使用为 arm64 编译的 R。如果您使用的是基于 Intel 的 Mac,请使用为 x86 编译的 R。在基于 ARM 的 Mac 上使用为基于 Intel 的 Mac 编译的 R 和 Arrow 将导致段错误和崩溃。

  • 在 Linux 上,安装过程有时会更复杂,因为 CRAN 不托管 Linux 的二进制文件。有关更多信息,请参阅 安装指南

  • 如果您是从源代码编译 arrow,请注意,从版本 10.0.0 开始,arrow 需要 C++17 才能构建。这对 Windows 和 CentOS 7 有影响。对于 Windows 用户来说,这意味着您需要运行 4.0 或更高版本的 R。在 CentOS 7 上,这意味着您需要安装比默认系统编译器 gcc 更新的编译器。有关指导,请参阅 安装详细信息文章

  • arrow 的开发版本每晚发布。有关如何安装每晚版本的信息,请参阅 安装每晚版本 文章。

arrow 包能做什么?

Arrow C++ 库由不同的部分组成,每个部分都有其特定的用途。arrow 包提供了与 C++ 功能的绑定,可用于广泛的数据分析任务。

它允许用户以各种格式读写数据

  • 读写 Parquet 文件,这是一种高效且广泛使用的列式格式
  • 读写 Arrow(以前称为 Feather)文件,这是一种为速度和互操作性优化的格式
  • 以卓越的速度和效率读写 CSV 文件
  • 读写多文件和大于内存的数据集
  • 读取 JSON 文件

它提供对远程文件系统和服务器的访问

  • 在 Amazon S3 和 Google Cloud Storage 存储桶中读写文件
  • 连接到 Arrow Flight 服务器以通过网络传输大型数据集

其他功能包括

  • 使用 dplyr 动词操作和分析 Arrow 数据
  • R 和 Python 之间的零拷贝数据共享
  • 对列类型的精细控制,以便与数据库和数据仓库无缝协作
  • 用于构建连接器以连接到其他使用 Arrow 的应用程序和服务

什么是 Apache Arrow?

Apache Arrow 是一个用于内存中和大于内存数据的跨语言开发平台。它指定了一种标准化的、与语言无关的列式内存格式,用于平面和分层数据,旨在对现代硬件进行高效的分析操作。它还提供了计算库以及零拷贝流、消息传递和进程间通信。

此包提供了与 Arrow C++ 库的接口,从而可以在 R 中访问其许多功能。它通过 dplyr 后端和熟悉的 R 函数提供了对 Arrow C++ 库 API 的低级访问和高级访问。

Arrow 资源

还有一些额外的资源可能对您开始使用 arrow 有用

获取帮助

我们欢迎 arrow 包用户的提问、讨论和贡献。有关邮件列表以及参与 Arrow 开发人员和用户社区的其他途径的信息,请参阅 Apache Arrow 社区 页面。

如果您遇到错误,请在 GitHub issues 上提交一个带有最小可重现示例的问题。登录您的 GitHub 帐户,点击 New issue 并选择您要创建的问题类型。添加一个有意义的标题,前缀为 [R],后跟一个空格,然后是问题摘要,并从下拉列表中选择组件 R。有关更多信息,请参阅 Arrow 开发人员文档中 Contributing to Apache Arrow 页面的 报告错误和提出功能 部分。

行为准则

请注意,Apache Arrow 项目的所有参与均受 Apache 软件基金会 行为准则 的约束。