JDBC driver
Thunderduck speaks to JDBC clients — DataGrip, DBeaver, IntelliJ, anything that takes a driver jar — through a driver that submits SQL to the API and polls for results.
Download
The driver is published on Maven Central as
io.thunderduck:thunderduck-jdbc (opens in a new tab).
- SQL tools (DataGrip, DBeaver, IntelliJ): download the jar from that page and add it as a custom driver.
- JVM applications: add the dependency. The example shows the current version; the Maven Central page always shows the newest one.
<dependency>
<groupId>io.thunderduck</groupId>
<artifactId>thunderduck-jdbc</artifactId>
<version>0.1.0</version>
</dependency>implementation("io.thunderduck:thunderduck-jdbc:0.1.0")Connection
jdbc:thunderduck://api.thunderduck.aiAuthenticate with an API token created in the console (Settings → API tokens). Use the token as the password; the username is ignored.
Addressing
Exactly as everywhere else — three parts, with the middle part depending on the catalog type:
SELECT * FROM sales_pg.public.orders LIMIT 100;
SELECT * FROM lake.default.events LIMIT 100;Two-part names (schema.table) also resolve when unambiguous across your
catalogs, which is what makes schema browsing work in tools that assume a single
database.
What tools should expect
- Metadata browsing works: catalogs, schemas and tables come from the metadata Thunderduck already collected, so expanding a tree does not hit your databases.
- Results are paged. The driver fetches a page at a time rather than streaming, so a large result set arrives in chunks.
- Long queries are polled, not held open, so a client timeout does not cancel the query.
Token hygiene
A token carries your company and your user. Create one per tool so you can revoke a laptop without breaking your BI server, and prefer read-only tokens for anything that only reads.