apache / iceberg-go

Apache Iceberg - Go
https://iceberg.apache.org/
Apache License 2.0
143 stars 35 forks source link

feat(table): Implement converting Iceberg schema and types to Arrow #168

Closed zeroshade closed 1 month ago

zeroshade commented 1 month ago

155 implemented the conversion of Arrow schemas to Iceberg which will be needed for reading data from Parquet files or otherwise. This PR implements the reverse, converting Iceberg schemas and types to Arrow schemas and data types. This is required for optimizing reads, pruning columns, constructing filter and projection expressions and so on.

The tests that were added are also updated to now be roundtrip tests where appropriate to ensure that we test both directions of Arrow -> Iceberg and Iceberg -> Arrow

zeroshade commented 1 month ago

CC @Fokko @nastra please take a look when you have a chance. Thanks!

nastra commented 1 month ago

@zeroshade can you please rebase due to the merge conflict?

zeroshade commented 1 month ago

@nastra rebased! Thanks