| commit | ba15500a346762103d6e43a0e4617513e1e1a1e8 | [log] [tgz] | 
|---|---|---|
| author | Kevin Liu <kevinjqliu@users.noreply.github.com> | Wed Oct 08 10:24:03 2025 -0700 | 
| committer | GitHub <noreply@github.com> | Wed Oct 08 13:24:03 2025 -0400 | 
| tree | 53ca852efdc5bba80ff0fd71ebc3cda223bcf219 | |
| parent | 0dae64a58525cba48aab866a2c05850bcbb64af5 [diff] | 
infra: release_rc.sh regenerate sha512 file after rename (#590) we cannot reuse the sha512 file from gh release because it referring to the tar.gz file with -rc suffix regenerate the sha512 file after rename and then upload to apache svn Tested generating shasum locally, uploaded to https://dist.apache.org/repos/dist/dev/iceberg/apache-iceberg-go-0.4.0-rc1/ and now `dev/release/verify_rc.sh 0.4.0 1` passes
iceberg is a Golang implementation of the Iceberg table spec.
$ git clone https://github.com/apache/iceberg-go.git $ cd iceberg-go/cmd/iceberg && go build .
| 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 | 
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 | 
Run go build ./cmd/iceberg from the root of this repository to build the CLI executable, alternately you can run go install github.com/apache/iceberg-go/cmd/iceberg to install it to the bin directory of your GOPATH.
The iceberg CLI usage is very similar to pyiceberg CLI 
You can pass the catalog URI with --uri argument.
Example: You can start the Iceberg REST API docker image which runs on default in port 8181
docker pull apache/iceberg-rest-fixture:latest docker run -p 8181:8181 apache/iceberg-rest-fixture:latest
and run the iceberg CLI pointing to the REST API server.
./iceberg --uri http://0.0.0.0:8181 list ┌─────┐ | IDs | | --- | └─────┘
Create Namespace
./iceberg --uri http://0.0.0.0:8181 create namespace taxitrips
List Namespace
./iceberg --uri http://0.0.0.0:8181 list ┌───────────┐ | IDs | | --------- | | taxitrips | └───────────┘