Background
IceGraph currently visualizes table metadata JSON files, snapshot manifest lists, manifests, data files, and delete files. It does not collect or render Iceberg statistics artifacts.
Observed on the running Spark Connect table default.orders:
This is an Iceberg metadata relationship, not a manifest relationship:
metadata JSON
├─ current-snapshot-id -> snapshot manifest list
├─ statistics[]
│ └─ statistics-path -> Puffin table-statistics file
└─ partition-statistics[]
└─ statistics-path -> Parquet partition-statistics file
statistics files contain snapshot-id as an association, but the snapshot does not point to them.
Official Iceberg references:
Desired behavior
Expose registered Iceberg table-statistics and partition-statistics files as first-class graph nodes. Keep the existing metadata-to-snapshot and branch connections unchanged. Add a second direct connection type from each metadata JSON node to every file registered in its statistics[] and partition-statistics[] fields.
The graph therefore has two independent outgoing relationship types from a metadata node:
metadata JSON -> snapshot manifest list (existing lineage)
metadata JSON -> table statistics file (new direct metadata reference)
metadata JSON -> partition statistics file (new direct metadata reference)
A statistics record may display its snapshot-id in the details panel, but that ID is an association only. Do not draw a snapshot-to-statistics edge.
Background
IceGraph currently visualizes table metadata JSON files, snapshot manifest lists, manifests, data files, and delete files. It does not collect or render Iceberg statistics artifacts.
Observed on the running Spark Connect table
default.orders:This is an Iceberg metadata relationship, not a manifest relationship:
Official Iceberg references:
Desired behavior
Expose registered Iceberg table-statistics and partition-statistics files as first-class graph nodes. Keep the existing metadata-to-snapshot and branch connections unchanged. Add a second direct connection type from each metadata JSON node to every file registered in its
statistics[]andpartition-statistics[]fields.The graph therefore has two independent outgoing relationship types from a metadata node:
A statistics record may display its
snapshot-idin the details panel, but that ID is an association only. Do not draw a snapshot-to-statistics edge.