arrow2 VS delta-rs

Compare arrow2 vs delta-rs and see what are their differences.

arrow2

Transmute-free Rust library to work with the Arrow format (by jorgecarleitao)

delta-rs

A native Rust library for Delta Lake, with bindings into Python (by delta-io)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
arrow2 delta-rs
25 28
1,071 1,820
- 6.1%
0.0 9.7
2 months ago 1 day ago
Rust Rust
Apache License 2.0 Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

arrow2

Posts with mentions or reviews of arrow2. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-08-03.
  • Polars: Company Formation Announcement
    3 projects | news.ycombinator.com | 3 Aug 2023
    One of the interesting components of Polars that I've been watching is the use of the Apache Arrow memory format, which is a standard layout for data in memory that enables processing (querying, iterating, calculating, etc) in a language agnostic way, in particular without having to copy/convert it into the local object format first. This enables cross-language data access by mmaping or transferring a single buffer, with zero [de]serialization overhead.

    For some history, there's has been a bit of contention between the official arrow-rs implementation and the arrow2 implementation created by the polars team which includes some extra features that they find important. I think the current status is that everyone agrees that having two crates that implement the same standard is not ideal, and they are working to port any necessary features to the arrow-rs crate and plan on eventually switching to it and deprecating arrow2. But that's not easy.

    https://github.com/apache/arrow-rs/issues/1176

    https://github.com/jorgecarleitao/arrow2/pull/1476

  • Data Engineering with Rust
    5 projects | /r/rust | 9 May 2023
    https://github.com/jorgecarleitao/arrow2 https://github.com/apache/arrow-datafusion https://github.com/apache/arrow-ballista https://github.com/pola-rs/polars https://github.com/duckdb/duckdb
  • Polars[Query Engine/ DataFrame] 0.28.0 released :)
    3 projects | /r/rust | 29 Mar 2023
    Currently datafusion and polars aren't directly operable iirc because they use different underlying arrows implementations, but there seems to be work being done on that here https://github.com/jorgecarleitao/arrow2/issues/1429
  • Arrow2 0.15 has been released. Happy festivities everyone =)
    1 project | /r/rust | 18 Dec 2022
  • Rust is showing a lot of promise in the DataFrame / tabular data space
    9 projects | /r/rust | 4 Oct 2022
    [arrow2](https://github.com/jorgecarleitao/arrow2) and [parquet2](https://github.com/jorgecarleitao/parquet2) are great foundational libraries for and DataFrame libs in Rust.
  • Matano - Open source security lake built with Arrow2 + Rust
    2 projects | /r/rust | 3 Oct 2022
    [1] https://github.com/jorgecarleitao/arrow2
  • Polars 0.23.0 released
    3 projects | /r/rust | 4 Aug 2022
    In lockstep with arrow2's 0.13 release, we have published polars 0.23.0.
  • Arrow2 v0.13.0, now with support to read Apache ORC and COW semantics!
    1 project | /r/rust | 31 Jul 2022
  • ::lending-iterator — Lending/streaming Iterators on Stable Rust (and a pinch of HKT)
    3 projects | /r/rust | 20 Jul 2022
    This is so freaking life-saving! - we have been using StreamingIterator and FallibleStreamingIterator in libraries (arrow2 and parquet2) and the existing landscape is quite confusing for new users!
  • Mssql :(
    1 project | /r/rust | 9 Jun 2022
    arrow2 has support for mssql via ODBC (which microsoft has first class support to). Here are the integration tests we have (both read and write) against mssql specifically.

delta-rs

Posts with mentions or reviews of delta-rs. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-19.
  • Delta-rs – a Rust-based implementation of deltalake
    1 project | news.ycombinator.com | 8 Apr 2024
  • Delta Lake vs. Parquet: A Comparison
    2 projects | news.ycombinator.com | 19 Jan 2024
    I work at Databricks, but am pretty must just an OSS nerd, mainly focusing on Delta Rust recently: https://github.com/delta-io/delta-rs

    I did some keyword research and wrote this post cause lots of folks are doing searches for Delta Lake vs Parquet. I'm just trying to share a fair summary of the tradeoffs with folks who are doing this search. It's a popular post and that's why I figured I would share it here.

  • Working with Rust
    2 projects | /r/DevelEire | 16 Jun 2023
    Seeing a lot of great libraries coming out with python bindings in the data world e.g delta-rs Polars. I see it growing in this space as a C++ alternative
  • Ideas/Suggestions around setting up a data pipeline from scratch
    3 projects | /r/dataengineering | 9 Jun 2023
    If I’m not misunderstanding, you could both decode the gRPC protobuf AND write to delta lake in Rust. Tonic, Delta-rs.
  • Delta-rs with upserts
    1 project | /r/dataengineering | 3 Jun 2023
    https://github.com/delta-io/delta-rs/issues/850 … looks like it’s on the roadmap!
  • Read and filter delta files on Azure from a .net application
    1 project | /r/csharp | 31 May 2023
    Microsoft talk a lot about OneLake and that the delta file format will be the standard during the build conference. Is it only me that find it strange that their marketing team talks so much about the delta format when they do not even provide a library to work with the delta format from .net? It would be easy for them to maintain bindings to https://github.com/delta-io/delta-rs but also provide a reader that support V-Order https://learn.microsoft.com/en-us/fabric/data-engineering/delta-optimization-and-v-order?tabs=sparksql
  • Polars query engine 0.29.0 released
    3 projects | /r/rust | 8 May 2023
    I know someone will be adding this on the python side in the coming weeks. On the rust side you can use delta-rs with polars. Though you would be compiling both arrow2 and arrow-rs, so that's quite heavy.
  • Delta Lake without Databricks?
    3 projects | /r/dataengineering | 23 Apr 2023
    You don’t need DBX to use Delta Lake. You can use S3 as the backend and just use the Python Delta Lake library. It works great! https://github.com/delta-io/delta-rs
  • Seeking Recommendations for a Master Data Management Tool
    2 projects | /r/dataengineering | 1 Apr 2023
    Maybe if I get some free time soon I can formalize into a working example. Been wanting an excuse to try similar concept in delta-rs and polars/duckdb vs databricks/spark vs iceberg/polars.
  • Opportunity to contribute to a popular Rust data project (delta-rs)
    1 project | /r/rust | 30 Mar 2023
    delta-rs is a native Rust library for Delta Lake. It's a better way to store data than Parquet files and is fundamentally important library for the Rust data ecosystem. It's tightly integrated with Polars and Datafusion and there is a lot of interesting Rust work to be done.

What are some alternatives?

When comparing arrow2 and delta-rs you can also consider the following projects:

polars - Dataframes powered by a multithreaded, vectorized query engine, written in Rust

delta - An open-source storage framework that enables building a Lakehouse architecture with compute engines including Spark, PrestoDB, Flink, Trino, and Hive and APIs

datafusion - Apache DataFusion SQL Query Engine

roapi - Create full-fledged APIs for slowly moving datasets without writing a single line of code.

db-benchmark - reproducible benchmark of database-like ops

materialize - The data warehouse for operational workloads.

arrow-rs - Official Rust implementation of Apache Arrow

ballista - Distributed compute platform implemented in Rust, and powered by Apache Arrow.

pyodide - Pyodide is a Python distribution for the browser and Node.js based on WebAssembly

kafka-delta-ingest - A highly efficient daemon for streaming data from Kafka into Delta Lake

explorer - Series (one-dimensional) and dataframes (two-dimensional) for fast and elegant data exploration in Elixir

delta-oss