polars.io.parquet.ParquetFieldOverwrites#
- class polars.io.parquet.ParquetFieldOverwrites(
- *,
- name: str | None = None,
- children: None | ParquetFieldOverwrites | Sequence[ParquetFieldOverwrites] | Mapping[str, ParquetFieldOverwrites] = None,
- field_id: int | None = None,
- metadata: Mapping[str, None | str] | None = None,
- required: bool | None = None,
Write-option overwrites for individual Parquet fields.
Warning
This functionality is considered unstable. It may be changed at any point without it being considered a breaking change.
Examples
>>> lf = pl.LazyFrame( ... { ... "a": [None, 2, 3, 4], ... "b": [[1, 2, 3], [42], [13], [37]], ... "c": [ ... {"x": "a", "y": 42}, ... {"x": "b", "y": 13}, ... {"x": "X", "y": 37}, ... {"x": "Y", "y": 15}, ... ], ... } ... ) >>> lf.sink_parquet( ... "./out/parquet", ... field_overwrites={ ... "a": ParquetFieldOverwrites(metadata={"flat_from_polars": "yes"}), ... "b": ParquetFieldOverwrites( ... children=ParquetFieldOverwrites(metadata={"listitem": "yes"}), ... metadata={"list": "true"}, ... ), ... "c": ParquetFieldOverwrites( ... children=[ ... ParquetFieldOverwrites(name="x", metadata={"md": "yes"}), ... ParquetFieldOverwrites(name="y", metadata={"md2": "Yes!"}), ... ], ... metadata={"struct": "true"}, ... ), ... }, ... )
- __init__(
- *,
- name: str | None = None,
- children: None | ParquetFieldOverwrites | Sequence[ParquetFieldOverwrites] | Mapping[str, ParquetFieldOverwrites] = None,
- field_id: int | None = None,
- metadata: Mapping[str, None | str] | None = None,
- required: bool | None = None,
Methods
__init__(*[, name, children, field_id, ...])Attributes
field_idThe field ID used in the Parquet schema
requiredIs the field not allowed to have missing values
nameName of the column or field
childrenChildren of the column or field.
metadataArrow metadata added to the field before writing