Skip to main content

Module encoder

Module encoder 

Source
Expand description

The top-level encoding module for Lance files.

Lance files are encoded using a FieldEncodingStrategy which choose what encoder to use for each field.

Structural strategies build a tree of encoders for each field from the version-free builders in structural. Struct and list encoders collect validity and offsets; primitive leaf encoders accumulate values and emit miniblock or full-zip pages.

Modules§

structural
Version-free structural field encoder builders.

Structs§

ArrayFieldEncodingStrategy
Field-to-column composition for the pb::ArrayEncoding grammar.
BatchEncoder
A batch encoder that encodes RecordBatch objects by delegating to field encoders for each top-level field in the batch.
ColumnIndexSequence
Keeps track of the current column index and makes a mapping from field id to column index
EncodedArray
An array encoded with the pb::ArrayEncoding grammar.
EncodedBatch
An encoded batch of data and a page table describing it
EncodedColumn
EncodedPage
An encoded page of data
EncodingOptions
Options that control the encoding process
FieldEncodingContext
Context shared while one top-level field and all of its children are mapped to concrete field encoders.
OutOfLineBuffers
A tool to reserve space for buffers that are not in-line with the data

Constants§

MIN_PAGE_BUFFER_ALIGNMENT
The minimum alignment for a page buffer. Writers must respect this.

Traits§

ArrayEncoder
Encodes one data block and describes it with pb::ArrayEncoding.
ArrayEncodingStrategy
Selects an ArrayEncoder for one page.
FieldEncoder
Top level encoding trait to code any Arrow array type into one or more pages.
FieldEncodingStrategy
A trait to pick which kind of field encoding to use for a field

Functions§

encode_batch
Helper method to encode a batch of data into memory

Type Aliases§

EncodeTask
A task to create a page of data