Apache Iceberg Rust Released
Written by Alex Denham   
Monday, 09 September 2024

Apache has released version 0.3 of Iceberg-rust, an official Rust implementation of the Iceberg high-performance format for huge analytic tables.

Iceberg was originally developed by Netflix, was made an opensource Apache incubator project in 2018, and graduated to be a top level project in 2020.

Iceberg is widely used and is supported by nearly all query engines. Users can write SQL to query data from an Iceberg table stored at object storage services without ingesting it into a database first.

iceberg

Iceberg Rust 0.3 is built and tested with stable rust, and will keep a rolling MSRV(minimum supported rust version).  This release is being used by Databend, an open-source cloud data warehouse that serves as a cost-effective alternative to Snowflake; and iceberg-catalog, a Rust implementation of the Iceberg REST Catalog specification.

This release is described by the developers as including most of the functionality users need to read and write an Iceberg table, though currently only the REST catalog has been implemented. Other catalogs are under active development.

The main changes to this version start with the addition of Sync and Send to the Catalog trait. Send and Sync are fundamental to Rust's concurrency handling, and are used to work out whether a type can be sent to or shared with other threads. 

This release has also implemented OAuth for the catalog's REST client. OAuth is an open-standard authorization protocol that applications can use to provide secure designated access.

There's also new Parquet writer and reader capabilities with support for data projection, and memory catalog and memory file IO support. A SQL Catalog has been established and there's now a subproject for this.

Support has been added for Google Cloud Storage (GCS) and AWS session tokens to ensure Iceberg-rust can be used with GCS and AWS sessions.

Iceberg-rust's concurrency support has been enhanced with the implementation of concurrent table scans and data file fetching, and there are enhanced predicate builders and expression evaluators. The developers have also added support for timestamp columns in row filters.

The contributors say that plans for the next release include the integration of native support for DataFusion, and the ability to connect other query engines with Iceberg, such as Databend.

Iceberg-rust 0.30 is available now.

iceberg

More Information

Apache Iceberg

Related Articles

Snowflake Support For Apache Iceberg Goes GA

Apache Iceberg Improves Spark Support

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.

Banner


Programmers Day 2024
12/09/2024

Today, September 12th, is designated as Programmers Day, a tradition we do our best to uphold. We even designed a card! 



OpenAI o1 Thinks Before It Answers
13/09/2024

OpenAI has unveiled a new series of AI models that can reason through complex task and solve hard problems. The first fruit of OpenAI's "Strawberry Project", o1-preview is now available in ChatGP [ ... ]


More News

kotlin book

 

Comments




or email your comment to: comments@i-programmer.info