Iceberg Go is a go-native implementation for accessing iceberg tables.

iceberg is a Golang implementation of the Iceberg table spec.
| Filesystem Type | Supported |
| S3 | X |
| Google Cloud Storage | X |
| Azure Blob Storage | X |
| Local Filesystem | X |
| Operation | Supported |
| Get Schema | X |
| Get Snapshots | X |
| Get Sort Orders | X |
| Get Partition Specs | X |
| Get Manifests | X |
| Create New Manifests | X |
| Plan Scan | X |
| Plan Scan for Snapshot | X |
| Operation | REST | Hive | Glue | SQL |
| Load Table | X | | X | X |
| List Tables | X | | X | X |
| Create Table | X | | X | X |
| Register Table | X | | X | |
| Update Current Snapshot | X | | X | X |
| Create New Snapshot | X | | X | X |
| Rename Table | X | | X | X |
| Drop Table | X | | X | X |
| Alter Table | X | | X | X |
| Check Table Exists | X | | X | X |
| Set Table Properties | X | | X | X |
| List Namespaces | X | | X | X |
| Create Namespace | X | | X | X |
| Check Namespace Exists | X | | X | X |
| Drop Namespace | X | | X | X |
| Update Namespace Properties | X | | X | X |
| Create View | X | | | X |
| Load View | | | | X |
| List View | X | | | X |
| Drop View | X | | | X |
| Check View Exists | X | | | X |
- Data can currently be read as an Arrow Table or as a stream of Arrow record batches.
As long as the FileSystem is supported and the Catalog supports altering
the table, the following tracks the current write support:
| Operation | Supported |
| Append Stream | X |
| Append Data Files | X |
| Rewrite Files | |
| Rewrite manifests | |
| Overwrite Files | |
| Write Pos Delete | |
| Write Eq Delete | |
| Row Delta | |