diff --git a/python/ray/data/_internal/datasource_v2/formats/parquet/parquet_file_chunking_utils.py b/python/ray/data/_internal/datasource_v2/formats/parquet/parquet_file_chunking_utils.py index f6ceeb0182ec..f6a89525025e 100644 --- a/python/ray/data/_internal/datasource_v2/formats/parquet/parquet_file_chunking_utils.py +++ b/python/ray/data/_internal/datasource_v2/formats/parquet/parquet_file_chunking_utils.py @@ -79,7 +79,13 @@ def _subset(rg_ids: List[int]) -> pds.ParquetFileFragment: path = fragment.path if not per_row_group_offsets: - return [ReadUnitFragment(_subset(ids), ReadUnit(id=path, source=path, count=1))] + lazy = fragment.format.make_fragment( + path, + filesystem=fragment.filesystem, + partition_expression=fragment.partition_expression, + row_groups=ids, + ) + return [ReadUnitFragment(lazy, ReadUnit(id=path, source=path, count=1))] metadata = _with_io_retry( lambda: fragment.metadata, f"read Parquet footer for {path}"