In iceberg-cpp, Parquet scan currently prunes at file/manifest level; row-group statistics and Parquet page index are not yet used to skip pages inside retained row groups. For large row groups with data sorted by filter column, this leaves significant I/O on the table.
I’d like to propose a phased design:
(1) consolidate row-group stats pruning
(2) add ColumnIndex/OffsetIndex-based page skipping
In iceberg-cpp, Parquet scan currently prunes at file/manifest level; row-group statistics and Parquet page index are not yet used to skip pages inside retained row groups. For large row groups with data sorted by filter column, this leaves significant I/O on the table.
I’d like to propose a phased design:
(1) consolidate row-group stats pruning
(2) add ColumnIndex/OffsetIndex-based page skipping