delta-io/delta

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

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 46 minutes ago
Added to GitGenius on May 5th, 2024
Created on April 22nd, 2019
Open Issues & Pull Requests: 931 (+0)
Number of forks: 2,159
Total Stargazers: 8,954 (+1)
Total Subscribers: 236 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 10.2 days
Mean response time: 239.3 days
90th percentile: 930.8 days
Tracked items: 972

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 63% of open issues come from outside the core team, a mix of external reports and the maintainers' own roadmap. Work labelled "acknowledged" is answered fastest, typically in about 5 days, while "kernel" waits about 9 weeks. 70% of tracked open issues have had no activity in three months, so the open count overstates what is actively being worked. Only 1% of issues opened in the past year have been closed.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 388
New in 7 days: 2
Closed in 7 days: 3
Avg open age: 376 days
Stale 30+ days: 270
Stale 90+ days: 240

Recent activity

Opened in 7 days: 2
Closed in 7 days: 3
Comments in 7 days: 7
Events in 7 days: 19

Top labels

  • enhancement (576)
  • bug (484)
  • stale (467)
  • kernel (92)
  • not-stale (82)
  • good first issue (80)
  • acknowledged (75)
  • question (33)

Detailed Description

Delta Lake is an open-source storage framework that enables building a Lakehouse architecture by combining data lake and data warehouse capabilities. Written primarily in Scala, it provides ACID transaction support and integrates with multiple compute engines including Apache Spark, PrestoDB, Flink, Trino, and Hive. The project offers APIs for Scala, Java, Rust, Ruby, and Python, making it accessible to a wide range of development environments and use cases.

The repository implements a transaction protocol that guarantees serializability for concurrent reads and writes. Delta Lake achieves ACID guarantees through specific requirements on underlying storage systems, including atomic visibility of files, mutual exclusion for writers, and consistent directory listings. The framework maintains backward compatibility with all Delta Lake tables, ensuring that newer versions can always read tables written by older versions, though forward compatibility is not guaranteed as new protocol features are introduced.

Delta Lake provides multiple integration pathways for different systems. The Apache Spark connector allows reading from and writing to Delta Lake tables. The Delta Standalone library enables Scala and Java-based projects, including Apache Flink, Apache Hive, Apache Beam, and PrestoDB, to interact with Delta tables without requiring Spark. The Delta Rust API provides low-level access to Delta tables with Python and Ruby bindings for use with data processing frameworks. Trino and PrestoDB connectors support reading and writing capabilities, while the Apache Flink connector focuses on write operations.

The codebase is built using SBT and requires Java 17 or later. Development setup is supported through IntelliJ, which is the recommended IDE. The project includes comprehensive test suites and provides both Scala and Python testing environments, with Python tests managed through Conda.

Activity tracking shows the repository maintains active engagement with its community.

Delta Lake is licensed under Apache License 2.0 and maintains community engagement through public Slack channels, a mailing list, LinkedIn, and YouTube presence.