Skip to content

Your first lake

A lake is a folder: on your disk, or a prefix in an S3, R2, GCS or Azure bucket. Pondra keeps your tables there as Parquet files, plus a log of the newest rows. There is no database server to install: one pondra process on the lake answers SQL, Python and JavaScript.

Terminal window
pondra serve lake --addr 127.0.0.1:8080

Or let your code start one for you, in the background, and stop it when you’re done:

import pondra
db = pondra.local("lake") # starts a node on ./lake

The examples below talk to a node at localhost:8080. Open http://localhost:8080 in a browser and you get the console: the lake’s tables, and cells for SQL and Python.

CREATE TABLE orders (id BIGINT, item VARCHAR, qty INT, amount DOUBLE);
INSERT INTO orders VALUES (1, 'tea', 2, 7.0), (2, 'cake', 1, 4.5), (3, 'tea', 1, 3.5);
SELECT item, sum(qty) AS items, sum(amount) AS total FROM orders GROUP BY item ORDER BY total DESC;