arrow

Apache Arrow is a cross-language development platform for in-memory and larger-than-memory data. It specifies a standardized language-independent columnar memory format for flat and hierarchical data, organized for efficient analytic operations on modern hardware. It also provides computational libraries and zero-copy streaming, messaging, and interprocess communication.

The arrow R package exposes an interface to the Arrow C++ library, enabling access to many of its features in R. It provides low-level access to the Arrow C++ library API and higher-level access through a {dplyr} backend and familiar R functions.

What can the arrow package do?

The arrow package provides functionality for a wide range of data analysis tasks. It allows users to read and write data in a variety formats:

It provides data analysis tools for both in-memory and larger-than-memory data sets

It provides access to remote filesystems and servers

Additional features include:

Installation

Most R users will probably want to install the latest release of arrow from CRAN:

install.packages("arrow")

Alternatively, if you are using conda you can install arrow from conda-forge:

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

In most cases installing the latest release should work without requiring any additional system dependencies, especially if you are using Window or a Mac. For those users, CRAN hosts binary packages that contain the Arrow C++ library upon which the arrow package relies, and no additional steps should be required.

There are some special cases to note:

Arrow resources

In addition to the official Arrow R package documentation, the Arrow for R cheatsheet, and the Apache Arrow R Cookbook are useful resources for getting started with arrow.

Getting help

If you encounter a bug, please file an issue with a minimal reproducible example on GitHub issues. Log in to your GitHub account, click on New issue and select the type of issue you want to create. Add a meaningful title prefixed with [R] followed by a space, the issue summary and select component R from the dropdown list. For more information, see the Report bugs and propose features section of the Contributing to Apache Arrow page in the Arrow developer documentation.

We welcome questions, discussion, and contributions from users of the arrow package. For information about mailing lists and other venues for engaging with the Arrow developer and user communities, please see the Apache Arrow Community page.

Please note that all participation in the Apache Arrow project is governed by the Apache Software Foundation’s code of conduct.