iceberg-go icon indicating copy to clipboard operation
iceberg-go copied to clipboard

Iceberg Extensions

Open dwilson1988 opened this issue 1 year ago • 1 comments

Feature Request / Improvement

There are some various table formats that extend Iceberg by allowing additional metadata to be added to various components, for example, Havasu. I (and I'm sure others) would like the ability to to extend metadata such as the table metadata, manifest lists, and manifest entries to read additional metadata. I can't speak for all iceberg extensions, but havasu extends iceberg by adding some additional metadata fields in:

  1. Table Metadata: https://github.com/wherobots/havasu/blob/main/spec.md#table-metadata
  2. Manifests: https://github.com/wherobots/havasu/blob/main/spec.md#manifests

The addition of the geometry bounds on the manifests is primarily for scan planning. It seems like at this point, until Iceberg support for geospatial types is added (which seems like it could be in the fairly distant future), augmenting scan planning may be a bit far away, but I'd propose that allowing metatadata extensions to table metadata and manifests maybe be worth consideration.

There are probably many ways this could be implemented, and I'm happy to take a stab at it since it's something I personally need on my project. First I wanted to ask if this is within the scope of this project or if you have a recommended path to something like this?

dwilson1988 avatar Oct 23 '24 22:10 dwilson1988

I'd have to think about it a bit as far as recommending a path. But I would definitely see this as within the scope of this implementation if we can come up with a good/useful way to do so.

zeroshade avatar Oct 24 '24 15:10 zeroshade