Iceberg Golang

Go Reference

iceberg is a Golang implementation of the Iceberg table spec.

Build From Source

Prerequisites

  • Go 1.21 or later

Build

$ git clone https://github.com/apache/iceberg-go.git
$ cd iceberg-go/cmd/iceberg && go build .

Feature Support / Roadmap

FileSystem Support

Filesystem TypeSupported
S3X
Google Cloud Storage
Azure Blob Storage
Local FilesystemX

Metadata

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

Catalog Support

OperationRESTHiveDynamoDBGlue
Load TableX
List TablesX
Create Table
Update Current Snapshot
Create New Snapshot
Rename Table
Drop Table
Alter Table
Set Table Properties
Create Namespace
Drop Namespace
Set Namespace Properties

Read/Write Data Support

  • No intrinsic support for reading/writing data yet
  • Data can be manually read currently by retrieving data files via Manifests.
  • Plan to add Apache Arrow support eventually.

Get in Touch