prestodb/presto

The official home of the Presto distributed SQL query engine for big data

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 26 minutes ago
Added to GitGenius on January 4th, 2025
Created on August 9th, 2012
Open Issues & Pull Requests: 2,955 (+0)
Number of forks: 5,543
Total Stargazers: 16,723 (+0)
Total Subscribers: 819 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 12.3 hours
Mean response time: 127.3 days
90th percentile: 392.0 days
Tracked items: 1,091

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 90% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "bug" is answered fastest, typically in about 4 hours, while "prestissimo" waits about 4 weeks. 73% of tracked open issues have had no activity in three months, so the open count overstates what is actively being worked. Only 3% of issues opened in the past year have been closed.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 1,578
New in 7 days: 3
Closed in 7 days: 3
Avg open age: 1,122 days
Stale 30+ days: 1,555
Stale 90+ days: 1,496

Recent activity

Opened in 7 days: 0
Closed in 7 days: 3
Comments in 7 days: 3
Events in 7 days: 8

Top labels

  • bug (1,217)
  • stale (959)
  • feature request (505)
  • beginner-task (347)
  • prestissimo (291)
  • enhancement (272)
  • flaky-test (150)
  • function (143)

Detailed Description

Presto is a distributed SQL query engine designed for querying big data across multiple sources. Written in Java, it enables interactive SQL analysis on data stored in Hadoop, Hive, and other data lakes without requiring data movement or transformation into a separate analytics system. The engine supports querying data in various formats including Parquet and integrates with the Apache ecosystem, making it a core component for organizations managing large-scale data infrastructure.

The project maintains active development with significant community engagement.

Building Presto requires Java 17 with either Oracle JDK or OpenJDK, Maven 3.6.3 or later, and Python 2.4 or higher for the launcher script. The project uses a standard Maven build process that downloads dependencies on the first build and supports configuration through a local Maven cache to avoid conflicts when building multiple Presto projects simultaneously. The comprehensive unit test suite can be skipped during development builds to accelerate iteration. The project integrates with IntelliJ IDEA as the recommended development environment and includes sample configuration files that work out-of-the-box for local development.

Presto's architecture includes a native C++ implementation called Presto native, which rewrites the worker component using Velox, a C++ database library providing high-performance data processing components. This dual-implementation approach allows organizations to choose between the Java-based standard implementation and the performance-optimized native version depending on their workload requirements.

The user interface is built with React components written in JSX and ES6, compiled into browser-compatible JavaScript during the Maven build process. The UI can be excluded from builds using the skipUI flag for faster compilation when frontend changes are not needed. The project provides development container support through a separate presto-dev repository for streamlined local development setup.

The repository is classified across multiple domains including query engines, data warehousing, performance optimization, real-time analysis, and multi-source querying. It demonstrates strong overlap with other major projects through shared contributors, linking it to microsoft/vscode, trinodb/trino, and microsoft/typescript ecosystems. The project operates under the Apache License Version 2.0, with contributions governed by formal contribution guidelines and community coordination through a dedicated Slack channel for developer discussions.