Looker

Connect Looker to Delta Forge via the in-tree JDBC bridge that delegates to the native ODBC driver. Looker has no ODBC entry point of its own.

Category: bi-tools

Syntax

Admin > Database > Connections > New Connection > Delta Forge (JDBC)

Description

## Why Looker is different Looker's connector framework is JDBC-first. The Looker engine loads a JDBC driver class declared in a per-database dialect file and talks to it through the `java.sql.*` interfaces. There is no first-class ODBC path. Delta Forge ships its own JDBC bridge at `connectors/looker/` so customers do not have to buy a third-party JDBC-ODBC bridge. The bridge is a thin Java driver that delegates every call into the native ODBC driver (`libdeltaforgeodbc.so` / `.dylib` / `deltaforgeodbc.dll`) via JNI. Transport, auth, type handling, and streaming all stay in the C++ driver; the bridge only translates between `java.sql.*` and ODBC entry points. The trade-off: one JNI hop per `ResultSet.next()`, and no Arrow-native fast path on the Java side. For the Looker workloads that matter (PDT builds, derived tables, dashboard queries) this is acceptable. ## Setup 1. Build (or download) the bridge JAR from `connectors/looker/bridge/`. It produces `deltaforge-jdbc-<version>.jar`. 2. Install the native ODBC driver on the same host (`.deb` / `.rpm` on Linux, `.pkg` on macOS, MSI on Windows). The bridge resolves `libdeltaforgeodbc.<so|dylib|dll>` via `java.library.path` at runtime, or unpacks it from a fat JAR on first load. 3. Side-load the dialect file (`delta_forge_dialect.json`) and the bridge JAR through Looker's `LOOKER_JDBC_DRIVER_PATH` mechanism. (Once the bridge passes Looker's compliance harness, the dialect ships in Looker upstream and the side-load step goes away.) 4. In Looker, **Admin** -> **Database** -> **Connections** -> **New Connection**. Pick **Delta Forge** from the **Dialect** dropdown. 5. Set the JDBC URL to `jdbc:deltaforge://<host>?Uid=<user>` and supply the password under **Credentials**. 6. **Test these settings**. ## Persistent Derived Tables (PDTs) PDTs require write permissions on a schema in the connected database. Create a dedicated schema (for example, `looker_scratch`) on Delta Forge and grant the Looker service principal write rights to it. Looker's PDT trigger schedule then runs the materialisation queries through the bridge. ## Cloud Looker Looker Cloud cannot run a JDBC driver in its own environment. The connection must terminate in a customer-managed network: deploy a small VM running the bridge, the native ODBC driver, and a Looker connection tunnel (or AWS PrivateLink, depending on the deployment). Looker Cloud then connects to the tunnel.

Examples

# Looker connection (JDBC URL routed through the in-tree bridge to the native ODBC driver)
jdbc:deltaforge://df.example.com?Uid=alice@example.com

Pitfalls

See Also

Open in interactive docs →   DeltaForge home →