Arrow.Json.Reader (Arrow v0.1.0)

Copy Markdown

Parses Arrow integration test JSON into the in-memory data model.

The JSON form is canonical: every value is a 0/1 int (validity), a number, or a string. Integer-typed columns that don't fit in a JSON number losslessly (Int64, UInt64, Date64, Timestamp) are encoded as decimal strings — this reader accepts both. Binary columns are hex-encoded strings.

Summary

Functions

Parses a decoded JSON map into {:ok, %{schema:, batches:}} or {:error, %Arrow.DecodeError{}}.

Functions

read(doc)

@spec read(map()) ::
  {:ok,
   %{
     schema: Arrow.Schema.t(),
     dictionaries: %{optional(non_neg_integer()) => Arrow.Array.t()},
     batches: [Arrow.RecordBatch.t()]
   }}
  | {:error, Arrow.DecodeError.t()}

Parses a decoded JSON map into {:ok, %{schema:, batches:}} or {:error, %Arrow.DecodeError{}}.