Click here for a quick overview of Polaris.
Click here for the quickstart experience, which will help you set up a Polaris instance locally or on any supported cloud provider.
Apache Polaris is organized into the following modules:
polaris-core
- The main Polaris entity definitions and core business logicpolaris-api-management-model
- The Polaris management modelpolaris-api-management-service
- The Polaris management servicepolaris-api-iceberg-service
- The Iceberg REST servicepolaris-service-common
- The main components of the Polaris serverpolaris-runtime-service
- The runtime components of the Polaris serverpolaris-runtime-defaults
- The runtime configuration defaultspolaris-server
- The Polaris serverpolaris-admin
- The Polaris admin & maintenance toolpolaris-eclipselink
- The Eclipselink implementation of the MetaStoreManager interfacepolaris-relational-jdbc
- The JDBC implementation of BasePersistence to be used via AtomicMetaStoreManagerApache Polaris is built using Gradle with Java 21+ and Docker 27+.
./gradlew build
- To build and run tests. Make sure Docker is running, as the integration tests depend on it../gradlew assemble
- To skip tests../gradlew check
- To run all checks, including unit tests and integration tests../gradlew run
- To run the Polaris server locally; the server is reachable at localhost:8181. This is also suitable for running regression tests, or for connecting with Spark. Set your own credentials by specifying system property ./gradlew run -Dpolaris.bootstrap.credentials=POLARIS,root,s3cr3t
where:POLARIS
is the realmroot
is the CLIENT_IDsecret
is the CLIENT_SECRETPOLARIS,root,s3cr3t
./regtests/run_spark_sql.sh
- To connect from Spark SQL. Here are some example commands to run in the Spark SQL shell:create database db1; show databases; create table db1.table1 (id int, name string); insert into db1.table1 values (1, 'a'); select * from db1.table1;
env POLARIS_HOST=localhost ./regtests/run.sh
- To run regression tests locally, see more options here.To streamline the developer experience, especially for common setup and build tasks, a root-level Makefile is available. This Makefile acts as a convenient wrapper around various Gradle commands and other tooling, simplifying interactions. While Gradle remains the primary build system, the Makefile provides concise shortcuts for frequent operations like:
make build-server, make build-admin
make minikube-start-cluster, make minikube-cleanup
make helm-doc-generate, make helm-unittest
make install-dependencies-brew
To see available commands:
make help
For example, to build the Polaris server and its container image, you can simply run:
make build-server
./gradlew \ :polaris-server:assemble \ :polaris-server:quarkusAppPartsBuild --rerun \ -Dquarkus.container-image.build=true
docker run -p 8181:8181 -p 8182:8182 apache/polaris:latest
- To run the image.The Polaris codebase contains some docker compose examples to quickly get started with Polaris, using different configurations. Check the ./getting-started
directory for more information.
helm/polaris
for more information.Polaris Servers can be configured using a variety of ways. Please see the Configuration Guide for more information.
Default configuration values can be found in runtime/defaults/src/main/resources/application.properties
.
site/bin/run-hugo-in-docker.sh
site/
for more information.Apache Polaris is under the Apache License Version 2.0. See the LICENSE.
Apache Polaris™ is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.
Apache®, Apache Polaris™, Apache Iceberg™, Apache Spark™ are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries.