[python] Reuse Parquet fragment metadata for single-file reads - #9881
Open
XiaoHongbo-Hope wants to merge 1 commit into
Open
XiaoHongbo-Hope wants to merge 1 commit into
XiaoHongbo-Hope wants to merge 1 commit into
Conversation
XiaoHongbo-Hope
force-pushed
the
codex/atomic-s3-snapshot-commit
branch
from
September 16, 2026 09:20
9e74410 to
826f7b7
Compare
XiaoHongbo-Hope
force-pushed
the
codex/atomic-s3-snapshot-commit
branch
from
September 16, 2026 11:58
826f7b7 to
21dca66
Compare
XiaoHongbo-Hope
force-pushed
the
codex/atomic-s3-snapshot-commit
branch
from
September 18, 2026 04:02
21dca66 to
d970dae
Compare
XiaoHongbo-Hope
marked this pull request as ready for review
September 18, 2026 04:02
XiaoHongbo-Hope
marked this pull request as draft
September 18, 2026 04:04
XiaoHongbo-Hope
marked this pull request as ready for review
September 18, 2026 08:03
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose
Reading a known Parquet data file through
ds.dataset(path, ...)performs path discovery and loads metadata into separate objects. With the default metadata cache enabled, a local cold scan makes oneget_file_infocall and threeopen_input_filecalls.Create a
ParquetFileFragmentdirectly and buildFileSystemDatasetwith that same fragment and its physical schema. This reduces the local cold scan to zero probes and two opens, while retaining the existing cache lifecycle, physical schema handling, and constructor for other formats.Tests
git diff --checkpassed. PyArrow 16.1.0 was unavailable and remains unverified.Also ran a real DLF → Jindo 6.10.401 → OSS A/B with this loader change isolated. Used fixed snapshots and identical queries, files and read parallelism (4), with A-B-B-A process ordering and a cold/hot read in each process. All output hashes matched across 32 Parquet scans. Native successful-response logs accounted for 448 unique OSS request IDs.
The complete-scan results held for both 1,024-row small-file and 16,384-row larger-file fixtures (each larger file exceeds 64 KiB). Counts cover data-file requests, excluding DLF metadata and manifest planning. They are specific to these fixtures and SDK settings; they do not establish a production QPS reduction. Temporary test tables were cleaned up.