| Crates.io | iceberg-rs |
| lib.rs | iceberg-rs |
| version | 0.1.1-beta.1 |
| created_at | 2022-04-16 12:43:48.405001+00 |
| updated_at | 2025-05-09 21:29:54.917315+00 |
| description | DEPRECATED: This crate is no longer maintained. Please use the `iceberg` crate instead. |
| homepage | https://github.com/oliverdaff/iceberg-rs |
| repository | https://github.com/oliverdaff/iceberg-rs |
| max_upload_size | |
| id | 568954 |
| size | 77,125 |
β οΈ DEPRECATED: This crate is no longer maintained. Please use the official Apache Iceberg Rust implementation instead.
This repository previously contained a Rust implementation of the Apache Iceberg table format.
We recommend migrating to the official crate:
icebergThe official implementation offers comprehensive features, including:
For more details, visit the official documentation.
The Iceberg is an open table format for analytic datasets. It is very convenient to access the Iceberg table information to do things like view schema details, track changes, and view snapshots. This project is a Rust implementation of the Iceberg spec.
use iceberg_rs::model::table::TableMetadataV2;
fn main() {
let data = r#"
{
"format-version" : 2,
"table-uuid": "fb072c92-a02b-11e9-ae9c-1bb7bc9eca94",
"location": "s3://b/wh/data.db/table",
"last-sequence-number" : 1,
"last-updated-ms": 1515100955770,
"last-column-id": 1,
"schemas": [
{
"schema-id" : 1,
"type" : "struct",
"fields" :[
{
"id": 1,
"name": "struct_name",
"required": true,
"field_type": "fixed[1]"
}
]
}
],
"current-schema-id" : 1,
"partition-specs": [
{
"spec-id": 1,
"fields": [
{
"source-id": 4,
"field-id": 1000,
"name": "ts_day",
"transform": "day"
}
]
}
],
"default-spec-id": 1,
"last-partition-id": 1,
"properties": {
"commit.retry.num-retries": "1"
},
"metadata-log": [
{
"metadata-file": "s3://bucket/.../v1.json",
"timestamp-ms": 1515100
}
],
"sort-orders": [],
"default-sort-order-id": 0
}
"#;
let metadata = serde_json::from_str::<TableMetadataV2>(&data).unwrap();
}
Currently supported:
Coming soon:
Diagram showing the main nouns of the Iceberg model.
βββββββββββββββββββββββββββββββββββββ
βTable β
ββ¬ββββββββββββββββ¬ββββββββββ¬ββββββββ¬β
ββ½ββββββββββββββββ½ββββββββββ½ββββββββ½ββββββββββ
βPartition SpecββSnapshotββSchemaββSort Orderβ
ββ¬ββββββββββββββββββββββββββ¬ββββββββ¬ββββββββββ
ββ½ββββββββββββββββββββββββββ½ββββββββ½βββββββ
βPartition FieldββStruct FieldββSort Fieldβ
ββ¬βββββββββββββββββββββββββββββββββββββββββ
ββ½βββββββββ
βTransformβ
βββββββββββ
If youβd like to contribute, please fork the repository and use a feature branch. We warmly welcomed pull requests.
Please validate all submission with make validate.