# BigQuery

Google BigQuery is a fully managed, serverless data warehouse that enables scalable analysis over petabytes of data. As a development environment in Paradime, BigQuery enables dbt™ development from Paradime's Code IDE.

{% hint style="warning" %}
**IP RESTRICTIONS**

Make sure to allow traffic from one of the Paradime IPs in your firewall depending on the data location selected.

👉 See also: [Paradime IP addresses](https://docs.paradime.io/app-help/developers/ip-restrictions).
{% endhint %}

{% hint style="info" %}

#### Suggested permissions:

The following permissions will enable users in Paradime to run dbt™ from Paradime in your BigQuery project:

* BigQuery Data Editor
* BigQuery User
  {% endhint %}

***

### Initial Setup Instructions

1. Click **Settings** in the top menu bar of the Paradime interface to access **Account Settings**
2. Click "**Connections**" in the left sidebar
3. Click "**Add New**" next to Code IDE Environment
4. Select "**BigQuery**"

Next, choose your preferred authentification method to proceed:

1. [**Using BigQuery OAuth**](#using-bigquery-oauth)
2. [Using BigQuery Service Account JSON](#using-bigquery-service-account-json)

***

### Using BigQuery OAuth

Follow our [BigQuery OAuth setup](https://docs.paradime.io/app-help/documentation/settings/connections/connection-security/bigquery-oauth) guide to configure OAuth authentication. Each user will need to approve the required scopes when connecting.

<figure><img src="https://2337193041-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHET0AD04uHMgdeLAjptq%2Fuploads%2FWy9rwX3HxYD2nmcGXODO%2Fdev_connection_bigquery_oauth.png?alt=media&#x26;token=8bcff3ac-5d51-4cd6-b831-b83c2d8315c5" alt="" width="540"><figcaption></figcaption></figure>

### Fields Details

Below are list of fields and example to create a connection.

{% hint style="info" %}

* 🏢 **`Workspace level`** fields are set by the the workspace `Admin` and not configurable for by user
* 👥 **`User level`** fields are set by each user (`Admin`/`Developer`) when setting the Development connection.
  {% endhint %}

<table><thead><tr><th width="180.33333333333331">Field</th><th width="254">Description</th><th>Example</th><th>Level<select><option value="e1546276913f4276bb60769e2fa018cc" label="🏢 Workspace level" color="blue"></option><option value="81b26ab5639143d8b5402f5c958521fe" label="👥 User level" color="blue"></option></select></th></tr></thead><tbody><tr><td>Profile Name</td><td>The profile name set in your <code>dbt_project.yaml</code> . See more <a href="https://docs.getdbt.com/docs/core/connect-data-platform/connection-profiles">here</a>.</td><td><strong><code>dbt-bigquery</code></strong></td><td><span data-option="e1546276913f4276bb60769e2fa018cc">🏢 Workspace level</span></td></tr><tr><td>Target</td><td>The target name used to identify the connection. See more <a href="https://docs.getdbt.com/reference/dbt-jinja-functions/target">here</a>.</td><td><strong><code>dev</code></strong></td><td><span data-option="e1546276913f4276bb60769e2fa018cc">🏢 Workspace level</span></td></tr><tr><td>Dataset Location</td><td><p>The location of BigQuery datasets can be configured using the location configuration in a BigQuery profile. </p><p></p><p>Location can be either a multi-regional location (e.g. <code>EU</code>, <code>US</code>), or a regional location (e.g. <code>europe-west2</code> ). See more <a href="https://cloud.google.com/bigquery/docs/locations">here</a>.</p></td><td><strong><code>US</code></strong></td><td><span data-option="e1546276913f4276bb60769e2fa018cc">🏢 Workspace level</span></td></tr><tr><td>Project ID</td><td>The unique identifier of your BigQuery project. See more <a href="https://support.google.com/googleapi/answer/7014113?hl=en">here</a>.</td><td><strong><code>dbt-demo-project</code></strong></td><td><span data-option="e1546276913f4276bb60769e2fa018cc">🏢 Workspace level</span></td></tr><tr><td>Client ID</td><td>The Client ID generated when setting up the OAuth credentials.</td><td><strong><code>xyz123.apps.googleusercontent.com</code></strong></td><td><span data-option="e1546276913f4276bb60769e2fa018cc">🏢 Workspace level</span></td></tr><tr><td>Client Secret</td><td>The Client Secret generated when setting up the OAuth credentials.</td><td><strong><code>GOCSPX-hPfGJe7sd238772BLBA2Bi0ds</code></strong></td><td><span data-option="e1546276913f4276bb60769e2fa018cc">🏢 Workspace level</span></td></tr><tr><td>Execution Project ID (Optional)</td><td>You can specify an Execution Project ID to bill for query execution, instead of the project where you materialize your resources. See more <a href="https://docs.getdbt.com/docs/core/connect-data-platform/bigquery-setup#execution-project">here</a>.</td><td>(Optional) <strong><code>analytics-global-project</code></strong></td><td><span data-option="e1546276913f4276bb60769e2fa018cc">🏢 Workspace level</span></td></tr><tr><td>Dataset</td><td>The default dataset used to build dbt™️ objects at runtime.</td><td><strong><code>dbt_john</code></strong></td><td><span data-option="81b26ab5639143d8b5402f5c958521fe">👥 User level</span></td></tr><tr><td>Threads</td><td>The number of threads used in this connection. See more <a href="https://docs.getdbt.com/docs/running-a-dbt-project/using-threads">here</a>.</td><td><strong><code>8</code></strong></td><td><span data-option="81b26ab5639143d8b5402f5c958521fe">👥 User level</span></td></tr></tbody></table>

## Using BigQuery Service Account JSON

Uploading a service account JSON key file is the quickly and accurately way to configure a connection to BigQuery and authenticate each user's development credentials.&#x20;

To create a service account in BigQuery, follow the detailed steps in [Google Cloud's Creating and managing service account keys](https://cloud.google.com/iam/docs/creating-managing-service-account-keys#iam-service-account-keys-delete-console).

<figure><img src="https://2337193041-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHET0AD04uHMgdeLAjptq%2Fuploads%2FNk6tJLO65wi6Sw1WkWJ3%2Fdev_connection_bigquery_sajson.png?alt=media&#x26;token=b08652db-e373-48ea-98f6-f85df9f7a5b5" alt="" width="540"><figcaption></figcaption></figure>

### Field Details

Below are list of fields and example to create a connection.

{% hint style="info" %}

* 🏢 **`Workspace level`** fields are set by the the workspace `Admin` and not configurable for by user
* 👥 **`User level`** fields are set by each user (`Admin`/`Developer`) when setting the Development connection.
  {% endhint %}

<table><thead><tr><th width="180.33333333333331">Field</th><th width="254">Description</th><th>Example</th><th>Level<select><option value="e1546276913f4276bb60769e2fa018cc" label="🏢 Workspace level" color="blue"></option><option value="81b26ab5639143d8b5402f5c958521fe" label="👥 User level" color="blue"></option></select></th></tr></thead><tbody><tr><td>Profile Name</td><td>The profile name set in your <code>dbt_project.yaml</code> . See more <a href="https://docs.getdbt.com/docs/core/connect-data-platform/connection-profiles">here</a>.</td><td><strong><code>dbt-bigquery</code></strong></td><td><span data-option="e1546276913f4276bb60769e2fa018cc">🏢 Workspace level</span></td></tr><tr><td>Target</td><td>The target name used to identify the connection. See more <a href="https://docs.getdbt.com/reference/dbt-jinja-functions/target">here</a>.</td><td><strong><code>dev</code></strong></td><td><span data-option="e1546276913f4276bb60769e2fa018cc">🏢 Workspace level</span></td></tr><tr><td>Dataset Location</td><td><p>The location of BigQuery datasets can be configured using the location configuration in a BigQuery profile. </p><p></p><p>Location can be either a multi-regional location (e.g. <code>EU</code>, <code>US</code>), or a regional location (e.g. <code>europe-west2</code> ). See more <a href="https://cloud.google.com/bigquery/docs/locations">here</a>.</p></td><td><strong><code>US</code></strong></td><td><span data-option="e1546276913f4276bb60769e2fa018cc">🏢 Workspace level</span></td></tr><tr><td>Service AccountService Account JSON</td><td>The service account JSON file created for this service user.</td><td><strong><code>service_account_user.json</code></strong></td><td><span data-option="e1546276913f4276bb60769e2fa018cc">🏢 Workspace level</span></td></tr><tr><td>Execution Project ID (Optional)</td><td>You can specify an Execution Project ID to bill for query execution, instead of the project where you materialize your resources. See more <a href="https://docs.getdbt.com/docs/core/connect-data-platform/bigquery-setup#execution-project">here</a>.</td><td>(Optional) <strong><code>analytics-global-project</code></strong></td><td><span data-option="e1546276913f4276bb60769e2fa018cc">🏢 Workspace level</span></td></tr><tr><td>Dataset</td><td>The default dataset used to build dbt™️ objects at runtime.</td><td><strong><code>dbt_john</code></strong></td><td><span data-option="81b26ab5639143d8b5402f5c958521fe">👥 User level</span></td></tr><tr><td>Threads</td><td>The number of threads used in this connection. See more <a href="https://docs.getdbt.com/docs/running-a-dbt-project/using-threads">here</a>.</td><td><strong><code>8</code></strong></td><td><span data-option="81b26ab5639143d8b5402f5c958521fe">👥 User level</span></td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.paradime.io/app-help/documentation/settings/connections/development-environment/bigquery.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
