Codebase Basics
This section helps you get the Apache Pinot source code onto your machine, understand how the repository is organized, manage Maven dependencies correctly, and build Docker images from source.
What you will learn
Fork and clone the Pinot repository, install Maven, configure your IDE, and run a local QuickStart from source.
Understand every top-level Maven module -- SPI, core services, plugins, connectors, testing, and deployment artifacts.
Follow the project's guidelines for adding, updating, and shading external dependencies in both core modules and plugins.
Build Pinot, Pinot-Presto, and Pinot-Superset Docker images from any branch or fork, including ARM64 builds.
Recommended reading order
Code Setup -- start here to get a working local build.
Code Modules and Organization -- learn where to find (and place) code.
Dependency Management -- review the rules before adding any new library.
Build Docker Images -- package your changes into container images for testing or deployment.
Prerequisites
Git installed and configured with SSH keys for GitHub.
JDK 21 (JDK 17 is also supported with additional VM options).
Apache Maven 3.6 or later.
Docker (required only for building container images).
Next step
Once you are comfortable navigating the codebase, learn how to extend Pinot with custom plugins:
Last updated
Was this helpful?

