trinodb / trino
git clone https://github.com/trinodb/trino.git
484 · 4d ago
🔥 on GitHub Trending today
Official repository of Trino, the distributed SQL query engine for big data, formerly known as PrestoSQL (https://trino.io)
—
stars, 24h
—
stars, 7 days
+107
stars, 30 days · #2,138
13k
★ total
3.8k
forks · 2.7k open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageJava
LicenseApache-2.0
Created2019-01-19 (7y ago)
Last pushtoday
Watchers180
OwnerOrganization
Seen on GitHub Trending
- 2026-10-20 — #22 monthly in java · +107 ★
GitHub topics
analyticsbig-datadata-sciencedatabasedatabasesdatalakedelta-lakedistributed-databasedistributed-systemshadoophiveicebergjavajdbcprestoprestodbquery-enginesqltrino
Links
- GitHub: github.com/trinodb/trino
- Homepage: https://trino.io
- Releases · Issues · Hacker News mentions
README excerpt
Trino is a fast distributed SQL query engine for big data analytics. See the User Manual for deployment instructions and end user documentation. ## Development See DEVELOPMENT for information about development and release process, code style and guidelines for implementors of Trino plugins. See CONTRIBUTING for contribution requirements. ## Security See the project security policy for information about reporting vulnerabilities. Trino supports reproducible builds as of version 449. ## Build requirements * Mac OS X or Linux * Note that some npm packages used to build the web UI are only available for x86 architectures, so if you're building on Apple Silicon, you need to have Rosetta 2 installed. * Java 25.0.1+, 64-bit * Docker * Turn SELinux or other systems disabling write access to the local checkout off, to allow containers to mount parts of the Trino source tree ## Building Trino Trino is a standard Maven project. Simply run the following command from the project root directory: ./mvnw clean install -DskipTests On the first build, Maven downloads all the dependencies from the internet and caches them in the local repository (`~/.m2/repository`), which can take a while, depending on your connection speed. Subsequent builds are faster. Trino has a comprehensive set of tests that take a considerable amount of time to run, and are thus disabled by the above command. These tests are run by the CI system when you submit a pull request. We recommend only running tests locally for the areas of code that you change. ## Running Trino in your IDE ### Overview After building Trino for the first time, you can load the project into your IDE and run the server. We recommend using IntelliJ IDEA. Because Trino is a standard Maven project, you can easily import it into your IDE. In IntelliJ, choose *Open Project* from the *Quick Start* box or choose *Open* from the *File* menu and select the root `pom.xml` file. After opening the project in IntelliJ, double-check that the Java SDK is properly configured for the project: * Open the File menu and select Project Structure * In the SDKs section, ensure that JDK 25 is selected (create one if none exist) * In the Project section, ensure the Project language level is set to 25 ### Running a testing server The simplest way to run Trino for development is to run the `TpchQueryRunner` class. It will start a development version of the server that is configured with the TPCH connector. You can then use the CLI to execute queries against this server. Many other connectors have their own `*QueryRunner` class that you can use when working on a specific connector. The VM option generally required here is `--add-modules jdk.incubator.vector`, but various `*QueryRunner` classes might require additional options (if necessary, check the `air.test.jvm.additional-arguments` property in the `pom.xml` file of the module from which the runner comes). ### Running tests from the IDE When running individual test classes directly f