| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
|
Synced with latest main (13 commits, including the pyarrow 24→25 upgrade). No conflicts. Verified end-to-end against a REST catalog: with write.parquet.page-index-enabled=true the written Parquet has column+offset indexes (has_column_index/has_offset_index true), and default tables still write without them. Unit tests, ruff, and mypy (zero new errors vs main) pass. |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Related: #3847
Rationale for this change
PyArrow supports page-index writing, but PyIceberg did not expose it through table properties. Readers such as ClickHouse can use these indexes to avoid decoding nonmatching pages for selective queries.
What changes?
Adds an opt-in write.parquet.page-index-enabled table property. When enabled, PyIceberg passes write_page_index=True to PyArrow's ParquetWriter, producing Parquet column and offset indexes for page-level predicate pruning.
The default is false, preserving existing output and file-size behavior.
Are these changes tested?
Are there any user-facing changes?
Yes. A new opt-in write.parquet.page-index-enabled table property (default false), documented in mkdocs/docs/configuration.md. Tables with the property enabled write Parquet column and offset indexes. Changelog label requested.
Tooling note: developed with assistance from DS v4 Pro. I reviewed and verified the changes.