Metabase
Integrating Apache Pinot with Metabase
Last updated
Was this helpful?
Integrating Apache Pinot with Metabase
Last updated
Was this helpful?
Was this helpful?
This guide provides step-by-step instructions for setting up Metabase with an Apache Pinot connector. The integration allows you to visualize and explore data stored in Apache Pinot directly within Metabase dashboards.
Note: This is a preview version. For issues or bug reports, please join slack or file github issue.
The code is available at https://github.com/startreedata/metabase-pinot-driver under Apache 2 license.
Ensure the following tools are installed on your system:
Git
Docker
Node.js (version 22+)
Java (version 17+)
Clojure 1.12.1.1550
NodeJS 22
NPM 10
Yarn 1.22
Apache Pinot 1.3.0
Metabase v0.55.7
Start Pinot
To be simple, use Pinot docker image to run with quickstart
docker run -d --name pinot-quickstart -p 9000:9000 -p 8000:8000 -p 8080:8080 apachepinot/pinot:latest QuickStart -type MULTI_STAGE
Download Metabase
Go to Metabase release page, find the release jar.
This quickstart uses Metabase v0.55.7 .
JAR download: https://downloads.metabase.com/v0.55.7.x/metabase.jar
mkdir -p /tmp/metabase
cd /tmp/metabase
wget https://downloads.metabase.com/v0.55.7.x/metabase.jar
Download Pinot driver
Pinot plugins are released at https://github.com/startreedata/metabase-pinot-driver/releases
This QuickStart uses Pinot Driver v1.1.0
mkdir -p /tmp/metabase/plugins
cd /tmp/metabase/plugins
wget -O pinot.metabase-driver.jar https://github.com/startreedata/metabase-pinot-driver/releases/download/v1.1.0/pinot.metabase-driver-v1.1.0.jar
Start Metabase with Pinot plugin
cd /tmp/metabase
java --add-opens java.base/java.nio=ALL-UNNAMED -jar metabase.jar
Now everything should come up, you could also find the pinot plugin is loaed from the log:
Once Metabase is up, go to http://localhost:3000 to explore it.
After the login, you can click the right side bar to Add Pinot database:
After the configuration is done, Metabase will generate some explorations automatically.\
Copy below Dockerfile
and docker-compose.yml
to a directory, e.g. /tmp/metabase
.
Dockerfile:
FROM metabase/metabase:v0.55.7
RUN mkdir -p /plugins && \
curl -L -o /plugins/pinot.metabase-driver.jar \
https://github.com/startreedata/metabase-pinot-driver/releases/download/v1.1.0/pinot.metabase-driver-v1.1.0.jar
ENV MB_PLUGINS_DIR=/plugins
docker-compose.yml:
services:
metabase:
build: .
container_name: metabase-pinot
ports:
- "3000:3000"
environment:
- MB_PLUGINS_DIR=/plugins
volumes:
- metabase_data:/metabase-data
restart: unless-stopped
volumes:
metabase_data:
Run docker compose up
to start everything:
Users can enable it by expanding the advanced options, then enable Authentication header
The supported Auth Token Type
is Basic
or Bearer
.
Auth Token Value
is a string from your admin.