deephaven / deephaven-core

Deephaven Community Core
Other
257 stars 80 forks source link

feat: Add Parquet field_id writing #6381

Closed devinrsmith closed 2 days ago

devinrsmith commented 6 days ago

This allows for the writing of Parquet column field_ids.

This is an extraction from #6156 (which will need to expose deeper hooks to allow Iceberg to fully control field_id resolution during reading).

This is to ensure we can correctly write down Iceberg tables which must write field_ids which is necessary for #5989

In addition, it was noticed that Parquet ColumnMetaData encoding was written down in a non-deterministic order due to the use of a HashSet; it has been updated to an EnumSet to support a more consistent Parquet serialization. This was necessary to test out field_id writing.