View Source arrow_ipc_type (arrow v0.1.0)

Provides types and functions to work with IPC types.

This module provides functions and types to produce the types in IPC Schema definitions[1]. These types are generated according to these[2] definitions. The types have been represented in the form {TypeName, Metadata}, where TypeName is the name of the type and is an atom, and Metadata is a map of all the metadata associated with it. In case a type has no metadata associated with it, it is represented as just TypeName

[1]:https://github.com/apache/arrow/blob/main/format/Schema.fbs

[2]: https://github.com/apache/arrow/blob/main/format/Schema.fbs#L82-L430

Link to this section Summary

Types

Represents a Fixed-Size List Layout Array.
Represents a Fixed-Size Primitive Layout Array of f16, f32 or f64.
Represents a Fixed-Size Primitive Layout Array of an integral type.
Represents a Variable-Size Binary Layout Array with 64 bit offsets.
Represents a Variable-Size List Layout Array with 64 bit offsets.

Functions

Returns the IPC Type for an #array{}.

Link to this section Types

-type fixed_size_list() :: {fixed_size_list, #{list_size => pos_integer()}}.
Represents a Fixed-Size List Layout Array.
-type floating_point() :: {floating_point, #{precision => half | single | double}}.
Represents a Fixed-Size Primitive Layout Array of f16, f32 or f64.
-type int() :: {int, #{bit_width => pos_integer(), is_signed => boolean()}}.
Represents a Fixed-Size Primitive Layout Array of an integral type.
-type ipc_type() :: int() | floating_point() | fixed_size_list() | large_binary() | large_list().
-type large_binary() :: large_binary.
Represents a Variable-Size Binary Layout Array with 64 bit offsets.
-type large_list() :: large_list.
Represents a Variable-Size List Layout Array with 64 bit offsets.

Link to this section Functions

-spec from_erlang(Array :: arrow_array:array()) -> Type :: ipc_type().
Returns the IPC Type for an #array{}.