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"` TypeID []arrow.UnionTypeCode `json:"TYPE_ID,omitempty"` Offset interface{} `json:"OFFSET,omitempty"` Size interface{} `json:"SIZE,omitempty"` Children []Array `json:"children,omitempty"` Variadic []string `json:"VARIADIC_DATA_BUFFERS,omitempty"` Views []interface{} `json:"VIEWS,omitempty"` }
func (*Array) MarshalJSON ¶
func (*Array) UnmarshalJSON ¶
type Dictionary ¶
type Field ¶
type Field struct { Name string `json:"name"` // leave this as a json RawMessage in order to partially unmarshal as needed // during marshal/unmarshal time so we can determine what the structure is // actually expected to be. Type json.RawMessage `json:"type"` Nullable bool `json:"nullable"` Children []FieldWrapper `json:"children"` Dictionary *FieldDict `json:"dictionary,omitempty"` Metadata []metaKV `json:"metadata,omitempty"` // contains filtered or unexported fields }
type FieldDict ¶
type FieldDict struct { ID int `json:"id"` Type json.RawMessage `json:"indexType"` Ordered bool `json:"isOrdered"` // contains filtered or unexported fields }
type FieldWrapper ¶
type FieldWrapper struct {
Field
}
FieldWrapper gets used in order to hook into the JSON marshalling and unmarshalling without creating an infinite loop when dealing with the children fields.
func (FieldWrapper) MarshalJSON ¶
func (f FieldWrapper) MarshalJSON() ([]byte, error)
func (*FieldWrapper) UnmarshalJSON ¶
func (f *FieldWrapper) UnmarshalJSON(data []byte) error
type Option ¶
type Option func(*config)
Option is a functional option to configure opening or creating Arrow files and streams.
func WithAllocator ¶
WithAllocator specifies the Arrow memory allocator used while building records.
func WithSchema ¶
WithSchema specifies the Arrow schema to be used for reading or writing.
type Reader ¶
type Reader struct {
// contains filtered or unexported fields
}
func (*Reader) NumRecords ¶
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.
type Schema ¶
type Schema struct { Fields []FieldWrapper `json:"fields"` Metadata []metaKV `json:"metadata,omitempty"` // contains filtered or unexported fields }