Establishes a secure JDBC connection from JetBrains DataGrip to Google BigQuery so you can run SQL interactively.
DataGrip gives developers a familiar IDE experience—code completion, version control, and refactoring—while BigQuery supplies serverless analytics power. Connecting both lets you debug, optimize, and share SQL faster.
Have a Google Cloud project with BigQuery enabled, a service account or OAuth credentials, the BigQuery JDBC driver (latest), and DataGrip 2022.3+ installed.
In DataGrip ▶ File → Settings → Database → Drivers ▶ + ▶ Custom. Enter “BigQuery”, set the class name to com.simba.googlebigquery.jdbc42.Driver
, and attach the downloaded JAR.
You need a JDBC URL, authentication method, and optional project/dataset defaults. The most common combo is service-account JSON with key file path.
Click + in the Database tool window ➜ Driver & Data Source ➜ choose your BigQuery driver. Fill in the fields from the syntax below, test the connection, then press OK.
Yes. DataGrip shows BigQuery table metadata, including partition and clustering keys. Run standard SQL; results stream back in the IDE grid.
SELECT c.id,
c.name,
SUM(oi.quantity * p.price) AS revenue
FROM `project.dataset.Customers` c
JOIN `project.dataset.Orders` o ON o.customer_id = c.id
JOIN `project.dataset.OrderItems` oi ON oi.order_id = o.id
JOIN `project.dataset.Products` p ON p.id = oi.product_id
WHERE o.order_date >= DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY)
GROUP BY c.id, c.name
ORDER BY revenue DESC
LIMIT 20;
Use service-account keys instead of OAuth for CI/CD. Pin driver versions, enable "Limit page size" to reduce memory, and set Use legacy SQL = false
in advanced parameters.
See below for pitfalls and quick fixes.
Yes. You can CREATE TABLE, INSERT, UPDATE, MERGE, and DROP directly. Autocomplete covers BigQuery-specific statements like CREATE TABLE AS SELECT.
DataGrip variables (${var}) are replaced client-side, then sent to BigQuery. Alternatively, use BigQuery named parameters ( @start_date ).
BigQuery charges for processed bytes, not connection time. Previewing long tables or SELECT * can be costly; use LIMIT and column projection.