Arrow

Build Status codecov.io

This is a pure Julia implementation of the Apache Arrow data standard. This package provides Julia AbstractVector objects for referencing data that conforms to the Arrow standard. This allows users to seamlessly interface Arrow formatted data with a great deal of existing Julia code.

Please see this document for a description of the Arrow memory layout.

Basic usage:

Installation

] add Tables#master
] add https://github.com/JuliaData/Arrow.jl#master

Reading

Read from IO, file, or byte vector directly. Arrow data can be in file or streaming format, Arrow.Table will detect automatically.

using Arrow

# read arrow table from file format
tbl = Arrow.Table(file)

# read arrow table from IO
tbl = Arrow.Table(io)

# read arrow table directly from bytes, like from an HTTP request
resp = HTTP.get(url)
tbl = Arrow.Table(resp.body)

Writing

Write any Tables.jl source as arrow formatted data. Can write directly to IO or to a provided file name.

# write directly to any IO in streaming format
Arrow.write(io, tbl)

# write to a file in file format
Arrow.write("data.arrow", tbl)