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 | |