JanKaul / iceberg-rust

Rust implementation of Apache Iceberg with integration for Datafusion
Apache License 2.0
106 stars 14 forks source link

Feat/file catalog #44

Closed JanKaul closed 4 weeks ago

JanKaul commented 4 weeks ago

This PR add a "File" catalog. It makes use of Iceberg file system tables and doesn't require an external catalog. This is possible because S3 now supports conditional writes.

The table identifiers are converted to and from the table locations in object-storage. It always uses the last 3 parts of the table location prefix. For example:

s3://warehouse/staging/inventory/orders <-> staging.inventory.orders s3://warehouse/cleaned/events <-> warehouse.cleaned.events