Iceberg Go
Apache Iceberg Go is a Go-native implementation of Apache Iceberg, the open table format for analytic datasets. Read and write Iceberg tables from Go services and tooling without a JVM.
Where to start
- Install - get the library and CLI on your machine.
- CLI - inspect tables, run maintenance, manage refs.
- API - construct catalogs, scan tables, write Arrow data, evolve schemas.
- Configuration - YAML config file, catalog options, FileIO and credentials, table properties.
What works today
A capability matrix - filesystem, metadata operations, catalog support, and write operations - lives on the dedicated Feature Status page.
Beyond Go
Apache Iceberg is multi-language. PyIceberg, iceberg-rust, iceberg-cpp, and the Java reference implementation all target the same spec - see Other Iceberg implementations for cross-links.
Help and contribution
- Questions and discussion: Community
- Contributing code or docs: Contributing
- Cutting or verifying a release: Releases
The canonical Iceberg specification, terminology, and multi-engine policy live with the main project at iceberg.apache.org. This site covers what is specific to the Go implementation.