Skip to main content
oleander lets you connect external storage systems so you can query them alongside your Iceberg tables - joining cloud warehouse data with your lake data in a single SQL statement. Connections are managed in Settings → Lake.

BigQuery

Connect a Google Cloud project to query BigQuery tables directly from the oleander lake via DuckDB.

Setup

  1. Navigate to Settings → Lake and open BigQuery connections.
  2. Give the connection a name (lowercase letters, numbers, underscores - e.g. my_bq).
  3. Enter your GCP Project ID.
  4. Paste your service account JSON. The service account needs roles/bigquery.dataViewer (or narrower table-level permissions).
The service account key is stored encrypted and is never returned to the browser after saving.

Querying

Once connected, every BigQuery table in that project is reachable in DuckDB queries as connection_name.dataset.table:

Snowflake

Connect a Snowflake account to query your Snowflake tables from the oleander lake. Authentication uses key-pair signing - no passwords are stored.

Setup

  1. Navigate to Settings → Lake and open Snowflake connections.
  2. Fill in the required fields:
  1. Optionally specify a default warehouse, database, and role to scope queries.

Generating a key pair

If you don’t already have a key pair registered with Snowflake:
Paste the contents of snowflake_key.pem into the Private key field in oleander. The key is stored encrypted.

Querying

Tables are accessible as connection_name.schema.table in DuckDB:

Snowflake Horizon

Snowflake Horizon is Snowflake’s built-in Iceberg catalog, powered by Polaris. Registering it in oleander gives you full Iceberg REST catalog access - including DuckDB queries, Polars workloads, and Spark jobs - against your Snowflake-managed Iceberg tables.

Setup

  1. Navigate to Settings → Lake and open External catalogs.
  2. Select Snowflake Horizon as the catalog type.
  3. Fill in the required fields:
  1. Choose an authentication method:
Generate a PAT in Snowflake and paste it into the Secret field. This is the simplest option.

Querying

Once registered, the catalog is available under its name in DuckDB, Polars, and Spark:
Credential vending is handled automatically via the Iceberg REST protocol - no S3 or GCS credentials need to be configured manually.