Documentation

Overview

    Package arrjson provides types and functions to encode and decode ARROW types and data to and from JSON files.

    Index

    Constants

    This section is empty.

    Variables

    This section is empty.

    Functions

    This section is empty.

    Types

    type Array

    type Array struct {
    	Name     string        `json:"name"`
    	Count    int           `json:"count"`
    	Valids   []int         `json:"VALIDITY,omitempty"`
    	Data     []interface{} `json:"DATA,omitempty"`
    	Offset   []int32       `json:"OFFSET,omitempty"`
    	Children []Array       `json:"children,omitempty"`
    }

    type Field

    type Field struct {
    	Name     string   `json:"name"`
    	Type     dataType `json:"type"`
    	Nullable bool     `json:"nullable"`
    	Children []Field  `json:"children"`
    }

    type Option

    type Option func(*config)

      Option is a functional option to configure opening or creating Arrow files and streams.

      func WithAllocator

      func WithAllocator(mem memory.Allocator) Option

        WithAllocator specifies the Arrow memory allocator used while building records.

        func WithSchema

        func WithSchema(schema *arrow.Schema) Option

          WithSchema specifies the Arrow schema to be used for reading or writing.

          type Reader

          type Reader struct {
          	// contains filtered or unexported fields
          }

          func NewReader

          func NewReader(r io.Reader, opts ...Option) (*Reader, error)

          func (*Reader) NumRecords

          func (r *Reader) NumRecords() int

          func (*Reader) Read

          func (r *Reader) Read() (array.Record, error)

          func (*Reader) Release

          func (r *Reader) Release()

            Release decreases the reference count by 1. When the reference count goes to zero, the memory is freed. Release may be called simultaneously from multiple goroutines.

            func (*Reader) Retain

            func (r *Reader) Retain()

              Retain increases the reference count by 1. Retain may be called simultaneously from multiple goroutines.

              func (*Reader) Schema

              func (r *Reader) Schema() *arrow.Schema

              type Record

              type Record struct {
              	Count   int64   `json:"count"`
              	Columns []Array `json:"columns"`
              }

              type Schema

              type Schema struct {
              	Fields []Field `json:"fields"`
              }

              type Writer

              type Writer struct {
              	// contains filtered or unexported fields
              }

              func NewWriter

              func NewWriter(w io.Writer, schema *arrow.Schema) (*Writer, error)

              func (*Writer) Close

              func (w *Writer) Close() error

              func (*Writer) Write

              func (w *Writer) Write(rec array.Record) error