Skip to content

Core, Spark: V4 flat-tree reads and writes prototype - #7

Open
anoopj wants to merge 1 commit into
mainfrom
v4-prototype
Open

anoopj wants to merge 1 commit into
mainfrom
v4-prototype

Conversation

@anoopj

@anoopj anoopj commented Aug 19, 2026

Copy link
Copy Markdown
Owner

Rebuilds the V4 Adaptive Metadata Tree prototype on current main using the native scan planner for reads and a minimal flat-tree write path.

Reads:

  • Add ScanTaskPlanner, which plans FileScanTasks directly from a V4 root manifest of TrackedFile entries.
  • Wire DataTableScan and BaseDistributedDataScan to plan via ScanTaskPlanner for format version 4.

Writes:

  • SnapshotProducer.applyV4 writes a Parquet root manifest for v4 tables: the appended data files are inlined as DATA TrackedFile entries and data entries from the parent snapshot's root manifest are carried forward. Replaces the Avro manifest list for v4.

  • BaseSnapshot reads a Parquet root manifest.

  • Make the TrackedFileAdapters content-file adapters Serializable so planner output can be shipped to Spark executors.

Validated end to end: core round trip (TestV4FlatTreeReadWrite), Spark TestV4ReadEndToEnd, and an interactive spark-sql session.

Rebuilds the V4 Adaptive Metadata Tree prototype on current main using the
native scan planner for reads and a minimal flat-tree write path.

Reads:
- Add ScanTaskPlanner, which plans FileScanTasks directly from a V4 root
  manifest of TrackedFile entries.
- Wire DataTableScan and BaseDistributedDataScan to plan via ScanTaskPlanner
  for format version 4.

Writes:
- SnapshotProducer.applyV4 writes a Parquet root manifest for v4 tables: the
  appended data files are inlined as DATA TrackedFile entries and data entries
  from the parent snapshot's root manifest are carried forward. Replaces the
  Avro manifest list for v4.
- BaseSnapshot reads a Parquet root manifest.

- Make the TrackedFileAdapters content-file adapters Serializable so planner
  output can be shipped to Spark executors.

Validated end to end: core round trip (TestV4FlatTreeReadWrite), Spark
TestV4ReadEndToEnd, and an interactive spark-sql session.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant