events, orders, …) becomes a table you can query.
Hive-partitioned
columns like year/month/day are real, queryable columns too.
What you’ll need
GCS
Connect the same way as BigQuery — either:
- Sign in with Google (OAuth, read-only storage scope), or
- paste a service-account JSON for an account with read access to the
bucket (
roles/storage.objectViewer).
S3 / S3-compatible
An access key id + secret with read access. Works with AWS S3 and
S3-compatible stores (Cloudflare R2, MinIO, Backblaze B2, …) — supply the
custom endpoint for those.
Connect it
1
Open Data → Connectors → Data Lake
Choose the Data Lake connector.
2
Enter your lake details
- Provider —
gcsors3 - Root — e.g.
gs://your-bucket/warehouseors3://your-bucket/warehouse - Credentials — Sign in with Google or paste a service-account JSON (GCS); or an access key + secret (S3)
- Region / endpoint — for S3 / S3-compatible stores (optional)
3
Pick your tables
Erdo lists the tables it finds under the root, with their columns. Select the
ones you want to make queryable — they become datasets
just like any other connected source.
4
Query and build
Ask an agent a question, or build a page on top. Agents query your
lake with SQL and reason over the results — the parquet never leaves your bucket.
How queries run
Erdo runs each query in a sandboxed DuckDB that reads your parquet over the network using your credentials. A few things worth knowing:- In place, no copy. Data stays in your bucket; Erdo streams only what a query needs (parquet column + partition pruning keeps reads small).
- Scoped to your tables. Agent-generated SQL can only read the tables you selected — it can’t be pointed at arbitrary paths, even within the same bucket.
- Partition-aware. Filter on the Hive partition columns (
year,month, …) and Erdo only scans the matching files.
Lake vs. warehouse. Connect a data lake when your source of truth is
parquet files in object storage. If your data lives in a query engine
(PostgreSQL, Snowflake, BigQuery, ClickHouse), connect that
database instead — Erdo will query it natively.

