delta-io / delta
git clone https://github.com/delta-io/delta.git
v4.4.1 · 14d ago
🔥 on GitHub Trending today
An open-source storage framework that enables building a Lakehouse architecture with compute engines including Spark, PrestoDB, Flink, Trino, and Hive and APIs
—
stars, 24h
+16
stars, 7 days · #1,554
+68
stars, 30 days · #3,579
9.1k
★ total · +0% this week
2.2k
forks · 981 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageScala
LicenseApache-2.0
Created2019-04-22 (7y ago)
Last pushtoday
Watchers240
OwnerOrganization
Seen on GitHub Trending
- 2026-10-20 — #20 monthly in scala · +68 ★
- 2026-10-20 — #7 weekly in scala · +16 ★
GitHub topics
Links
- GitHub: github.com/delta-io/delta
- Homepage: https://delta.io
- Releases · Issues · Hacker News mentions
README excerpt
Delta Lake is an open-source storage framework that enables building a Lakehouse architecture with compute engines including Spark, PrestoDB, Flink, Trino, and Hive and APIs for Scala, Java, Rust, Ruby, and Python. * See the Delta Lake Documentation for details. * See the Quick Start Guide to get started with Scala, Java and Python. * Note, this repo is one of many Delta Lake repositories in the delta.io organizations including delta, delta-rs, delta-sharing, kafka-delta-ingest, and website. The following are some of the more popular Delta Lake integrations, refer to delta.io/integrations for the complete list: * Apache Spark™: This connector allows Apache Spark™ to read from and write to Delta Lake. * Apache Flink (Preview): This connector allows Apache Flink to write to Delta Lake. * PrestoDB: This connector allows PrestoDB to read from Delta Lake. * Trino: This connector allows Trino to read from and write to Delta Lake. * Delta Standalone: This library allows Scala and Java-based projects (including Apache Flink, Apache Hive, Apache Beam, and PrestoDB) to read from and write to Delta Lake. * Apache Hive: This connector allows Apache Hive to read from Delta Lake. * Delta Rust API: This library allows Rust (with Python and Ruby bindings) low level access to Delta tables and is intended to be used with data processing frameworks like datafusion, ballista, rust-dataframe, vega, etc. Table of Contents * Latest binaries * API Documentation * Compatibility * API Compatibility * Data Storage Compatibility * Roadmap * Building * Transaction Protocol * Requirements for Underlying Storage Systems * Concurrency Control * Reporting issues * Contributing * License * Community ## Latest Binaries See the online documentation for the latest release. ## API Documentation * Scala API docs * Java API docs * Python API docs ## Compatibility Delta Standalone library is a single-node Java library that can be used to read from and write to Delta tables. Specifically, this library provides APIs to interact with a table’s metadata in the transaction log, implementing the Delta Transaction Log Protocol to achieve the transactional guarantees of the Delta Lake format. ### API Compatibility There are two types of APIs provided by the Delta Lake project. - Direct Java/Scala/Python APIs - The classes and methods documented in the API docs are considered as stable public APIs. All other classes, interfaces, methods that may be directly accessible in code are considered internal, and they are subject to change across releases. - Spark-based APIs - You can read Delta tables through the `DataFrameReader`/`Writer` (i.e. `spark.read`, `df.write`, `spark.readStream` and `df.writeStream`). Options to these APIs will remain stable within a major release of Delta Lake (e.g., 1.x.x). - See the online documentation for the releases and their compatibility with Apache Spark versions. ### Data Storage Compatibility Delta Lake guarantees backward compatibility for all Delta Lake t