API Reference Arrow v#0.1.0
Copy MarkdownModules
Pure-Elixir implementation of the Apache Arrow columnar format.
Per-type column structs. Each module under Arrow.Array.* represents one
concrete Arrow array.
Variable-length opaque-bytes column. Same layout as Arrow.Array.Utf8 but
the value bytes are not constrained to be valid UTF-8.
Boolean column. Values are a packed LSB-first bitmap.
Fixed-width primitive column. values is a little-endian packed buffer of
one element per slot, regardless of validity.
Fixed-width primitive column. values is a little-endian packed buffer of
one element per slot, regardless of validity.
Fixed-point decimal column. Values are little-endian two's-complement
integers of the type's bit width (4 / 8 / 16 / 32 bytes per slot).
precision and scale come from the column's type; we carry them on
the array so it's self-describing.
Fixed-point decimal column. Values are little-endian two's-complement
integers of the type's bit width (4 / 8 / 16 / 32 bytes per slot).
precision and scale come from the column's type; we carry them on
the array so it's self-describing.
Fixed-point decimal column. Values are little-endian two's-complement
integers of the type's bit width (4 / 8 / 16 / 32 bytes per slot).
precision and scale come from the column's type; we carry them on
the array so it's self-describing.
Fixed-point decimal column. Values are little-endian two's-complement
integers of the type's bit width (4 / 8 / 16 / 32 bytes per slot).
precision and scale come from the column's type; we carry them on
the array so it's self-describing.
Dictionary-encoded column. The buffer is just the indices (a
primitive integer array referencing entries in a dictionary stored
separately, identified by dictionary_id).
64-bit elapsed-time column. Values are little-endian signed int64s in the
declared unit.
Fixed-width binary column. values is exactly length * byte_width bytes
(no offsets).
Fixed-size list column. The single child array values holds exactly
length * list_size items; there are no offsets.
Fixed-width primitive column. values is a little-endian packed buffer of
one element per slot, regardless of validity.
Fixed-width primitive column. values is a little-endian packed buffer of
one element per slot, regardless of validity.
Fixed-width primitive column. values is a little-endian packed buffer of
one element per slot, regardless of validity.
Fixed-width primitive column. values is a little-endian packed buffer of
one element per slot, regardless of validity.
Fixed-width primitive column. values is a little-endian packed buffer of
one element per slot, regardless of validity.
Fixed-width primitive column. values is a little-endian packed buffer of
one element per slot, regardless of validity.
Interval column. The physical layout depends on the variant
Interval column. The physical layout depends on the variant
Interval column. The physical layout depends on the variant
Variable-length opaque-bytes column with 64-bit offsets.
Variable-length list with 64-bit offsets. Same shape as
Arrow.Array.List but offsets is length + 1 little-endian int64s.
Variable-length UTF-8 column with 64-bit offsets. Same shape as
Arrow.Array.Utf8 but offsets is length + 1 little-endian int64s.
Variable-length list column. offsets is length + 1 little-endian int32s
giving the [start, end) index of each slot's items in values (the child
array).
Map column. Layout mirrors Arrow.Array.List: a validity bitmap and int32
offsets buffer with a child values array. The child is expected to be an
Arrow.Array.Struct whose two members are the key and the value.
All-null column. Carries only a length.
Struct column. children is one inner array per struct member, in the same
order as the parent field's children. Every child array's length matches
the struct's length.
32-bit time-of-day column. Values are little-endian signed int32s in the
declared unit (:second or :millisecond).
64-bit time-of-day column. Values are little-endian signed int64s in the
declared unit (:microsecond or :nanosecond).
64-bit timestamp column. Values are little-endian signed int64s in the
declared unit. timezone: nil means a naive (unzoned) timestamp.
Fixed-width primitive column. values is a little-endian packed buffer of
one element per slot, regardless of validity.
Fixed-width primitive column. values is a little-endian packed buffer of
one element per slot, regardless of validity.
Fixed-width primitive column. values is a little-endian packed buffer of
one element per slot, regardless of validity.
Fixed-width primitive column. values is a little-endian packed buffer of
one element per slot, regardless of validity.
Variable-length UTF-8 column. offsets is length + 1 little-endian
int32s; values is the concatenation of every slot's UTF-8 bytes.
Encoders and decoders between in-memory values and Arrow's raw buffer layout.
Error returned by the decoders (Arrow.Ipc.Stream.decode/1,
Arrow.Ipc.File.decode/1, Arrow.Json.decode/1) and raised by their
decode!/1 variants.
A named column within a schema. Holds the logical type, nullability, an
optional per-field metadata map, the child fields used by nested types
(List, Struct), and an optional Arrow.Type.DictionaryEncoding when
the field is dictionary-encoded.
Encodes and decodes the body bytes of an Arrow IPC RecordBatch.
Encodes and decodes the Arrow IPC file format.
Encodes and decodes the Arrow IPC streaming format.
Arrow integration test JSON format.
Parses Arrow integration test JSON into the in-memory data model.
Emits Arrow integration test JSON form from in-memory Arrow.Schema and
Arrow.RecordBatch structs.
Logical (null-aware) view of Arrow.Array.* columns.
A batch of columnar data: a schema, a row count, and one column per field.
Ordered list of Arrow.Field plus an optional schema-level metadata map.
Arrow logical types. Each type is a distinct struct under Arrow.Type.*.
Variable-length opaque byte column.
Logical boolean type. Stored as a packed bitmap.
Date column.
Fixed-point decimal column. Stored as a little-endian two's-complement
integer of bit_width bits, scaled by 10^-scale.
Dictionary-encoding annotation on a Arrow.Field.
64-bit elapsed-time column in a fixed unit.
Fixed-width opaque-bytes column. Every slot is byte_width bytes.
Fixed-size list of an inner type. Every slot is exactly list_size items;
there is no offsets buffer. The inner type is the single child field of the
enclosing Arrow.Field.
IEEE-754 floating point. Tier 1: :single, :double.
Signed or unsigned integer of a given bit width.
Interval column. Three concrete physical layouts
Variable-length opaque byte column with 64-bit offsets.
Variable-length list with 64-bit offsets. Otherwise identical to
Arrow.Type.List.
Variable-length UTF-8 string column with 64-bit offsets.
Variable-length list of an inner type. The inner type is described by the
single child field of the enclosing Arrow.Field.
Map column. Structurally a List<Struct<key, value>> with a single child
field named "entries"; the entries struct's two children are the key and
value fields.
Logical Null type. Carries no data — only a length.
Tuple-of-columns. Child fields are the struct's members, in declaration order,
and live on the enclosing Arrow.Field.
Time-of-day column. The Arrow FlatBuffers table parameterises both the bit width and the unit
64-bit timestamp at a fixed time unit, optionally annotated with a timezone.
Variable-length UTF-8 string column.
Mix Tasks
Converts an Arrow IPC file to the streaming format or vice versa, preserving schema, record batches, and dictionaries.
Prints a summary of an Arrow IPC file or stream: format, schema (field names, types, nullability), per-batch row counts, and dictionary sizes.