Iceberg Go

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

Go Reference

iceberg is a Golang implementation of the Iceberg table spec.

Feature Support / Roadmap

FileSystem Support

Filesystem TypeSupported
S3X
Google Cloud StorageX
Azure Blob StorageX
Local FilesystemX

Metadata

OperationSupported
Get SchemaX
Get SnapshotsX
Get Sort OrdersX
Get Partition SpecsX
Get ManifestsX
Create New ManifestsX
Plan ScanX
Plan Scan for SnapshotX

Catalog Support

OperationRESTHiveGlueSQL
Load TableXXXX
List TablesXXXX
Create TableXXXX
Register TableXXX
Update Current SnapshotXXXX
Create New SnapshotXXXX
Rename TableXXXX
Drop TableXXXX
Alter TableXXXX
Check Table ExistsXXXX
Set Table PropertiesXXXX
List NamespacesXXXX
Create NamespaceXXXX
Check Namespace ExistsXXXX
Drop NamespaceXXXX
Update Namespace PropertiesXXXX
Create ViewXXX
Load ViewXX
List ViewXXX
Drop ViewXXX
Check View ExistsXXX

Read/Write Data Support

  • Data can currently be read as an Arrow Table or as a stream of Arrow record batches.

Supported Write Operations

As long as the FileSystem is supported and the Catalog supports altering the table, the following tracks the current write support:

OperationSupported
Append StreamX
Append Data FilesX
Rewrite Files
Rewrite manifests
Overwrite FilesX
Copy-On-Write DeleteX
Write Pos DeleteX
Write Eq Delete
Row Delta

Get in Touch