Quick start
Run Baleia on your machine with Docker, connect the bundled Polaris catalog and run a first query. It takes a few minutes, most of them pulling images.
Start the stack
You need Docker with Compose and make.
git clone https://github.com/maltzsama/baleia.git
cd baleia
make up
make up starts Baleia (API, worker and migrations) with everything it needs:
- PostgreSQL for Baleia's own data.
- Temporal for long-running work.
- RustFS as S3-compatible storage for query results and the lake.
- Apache Polaris as an Iceberg catalog, seeded with the catalog
baleia_polarisand the tableanalytics.events. - Trino with the catalog-store plugin.
- Mailpit to catch e-mails.
Optional profiles add more sources:
docker compose --profile sources up -dadds MySQL, MariaDB, SQL Server, Oracle, ClickHouse, Lakekeeper, Hive Metastore, Unity and a mock AWS.--profile ldapadds a directory for LDAP sign-in.
| Service | Address |
|---|---|
| Baleia | http://localhost:8080 |
| Temporal UI | http://localhost:8233 |
| Polaris console | http://localhost:4000 |
| Mailpit (e-mails) | http://localhost:8025 |
Create the admin account
Open http://localhost:8080. On the first visit a setup wizard creates the admin account; after that you sign in normally.
The stack registers the bundled Trino as the engine trino-default on start, from TRINO_URL.
Connect the bundled catalog
In Connections, click New connection. The wizard walks through the steps:
- Pick Apache Polaris and fill in:
- URL
http://polaris:8181, as the containers reach it; - client ID
adminand client secretadmin.
- URL
- Test connection.
- Add catalog with the warehouse
baleia_polaris. Baleia creates the matching catalog in Trino: that is a binding. - Grant access to your workspace, so it can query the catalog.
The connection types and their fields are listed in Connections.
Run a query
Open SQL, pick the catalog in the target selector and run:
SELECT * FROM analytics.events LIMIT 10;
Run with ⌘/Ctrl + Enter. The workbench guide covers scripts, results, exports and saved queries.
Stop
make down # stop, keeping the data
make down-v # stop and delete the volumes
Next
- Install on Kubernetes for a real deployment.
- Concepts for how connections, engines, catalogs and bindings fit together.
- Development to run Baleia from source.