Arrow.Json.Writer (Arrow v0.1.0)

Copy Markdown

Emits Arrow integration test JSON form from in-memory Arrow.Schema and Arrow.RecordBatch structs.

The output is a plain Elixir map / list shape suitable for Jason.encode/1. Numeric types whose range can exceed JSON's 2^53 limit (Int64, UInt64, Date64, Timestamp) are written as decimal strings, matching the reference C++ writer. Binary columns are written as uppercase hex strings.

Summary

Functions

Converts a schema + batches (+ optional dictionaries registry) into the JSON-form map.

Functions

write(schema, batches, dictionaries \\ %{})

@spec write(
  Arrow.Schema.t(),
  [Arrow.RecordBatch.t()],
  %{optional(non_neg_integer()) => Arrow.Array.t()}
) :: map()

Converts a schema + batches (+ optional dictionaries registry) into the JSON-form map.