Apache Arrow Official Native Rust Implementation

Crates.io

This crate contains the official Native Rust implementation of Apache Arrow in memory format. Please see the API documents for additional details.

Features

The arrow crate provides the following optional features:

  • csv (default) - support for reading and writing Arrow arrays to/from csv files
  • ipc (default) - support for the [arrow-flight]((https://crates.io/crates/arrow-flight) IPC and wire format
  • prettyprint - support for formatting record batches as textual columns
  • js - support for building arrow for WebAssembly / JavaScript
  • simd - (Requires Nightly Rust) alternate optimized implementations of some compute kernels using explicit SIMD processor intrinsics.

Building for WASM

In order to compile Arrow for Web Assembly (the wasm32-unknown-unknown WASM target), you will likely need to turn off this crate's default features and use the js feature.

[dependencies]
arrow = {version = "5.0" default-features = false, features = ["js"] }

Examples

The examples folder shows how to construct some different types of Arrow arrays, including dynamic arrays:

Examples can be run using the cargo run --example command. For example:

cargo run --example builders
cargo run --example dynamic_types
cargo run --example read_csv