ScanColumn
struct ScanColumnOne output column: its name, its Iceberg type, and its Arrow array.
A primitive column is a single array. A struct, list or map column is a
whole tree, so the array lives in the column's own arena with root
naming it and every child referring to a sibling index — the layout
parquet.mojo decodes into and iceberg.nested operates on. ctype is
the column's Iceberg type, which is what tells a Datum, a JSON cell or
a CSV cell how to read the bytes; it is empty for a metadata column,
which is always one of a handful of primitives.
Implements Copyable, Movable
- Fields
name: Stringfield_id: Intkind: UInt8precision: Intscale: Intlength: Intctype: ColumnTypearena: ArrayArenaroot: Int
__init__
def __init__(out self, var name: String, field_id: Int, kind: UInt8, precision: Int, scale: Int, length: Int, var array: ArrayData) def __init__(out self, var name: String, field_id: Int, kind: UInt8, precision: Int, scale: Int, length: Int, var ctype: ColumnType, var tree: ColumnTree) empty
def empty(var name: String, field_id: Int, kind: UInt8, precision: Int, scale: Int, length: Int) -> Self array
def array(ref self) -> ref[self.arena.nodes["element"]] ArrayData The column's Arrow array; its children index into self.arena.
is_nested
def is_nested(self) -> Bool num_rows
def num_rows(self) -> Int take_tree
def take_tree(deinit self) -> ColumnTree