Expand description
An experimental structural layout for list-typed columns. Note that this is expected to change.
ListLayout decomposes a list column into independently configurable child layouts:
elements, offsets, and, for nullable lists, validity. Keeping the children independent allows
each child to use its own configurable layout and lets nested list elements (e.g. with List<List>) be decomposed recursively.
This provides benefits such as:
- Reading only the children needed to evaluate an expression. For example,
ListLengthdoes not need to read list elements. - Restricting element reads to the range covered by the selected outer rows, avoiding elements belonging exclusively to unselected leading or trailing lists.
- Allowing each child to use its own compression, chunking, and pruning strategy.
Modules§
Structs§
- List
- List
Layout - Stores a list-typed array by shredding
elements,offsets, and optionalvaliditychildren. - List
Layout Encoding - List
Layout Metadata
Constants§
- ELEMENTS_
CHILD_ INDEX - Child index of the
elementslayout. - NUM_
CHILDREN_ NON_ NULLABLE - Number of children when the list dtype is non-nullable.
- OFFSETS_
CHILD_ INDEX - Child index of the
offsetslayout. - VALIDITY_
CHILD_ INDEX - Child index of the
validitylayout (only present when the list dtype is nullable).