RubyMine 2023.2 Help

BigQuery

Official documentation

This topic presents a general procedure on how you can connect to BigQuery from RubyMine. It is assumed that you already have the necessary prerequisites and the database is up and running.

Prerequisites

Authentication method

Prerequisites

Google service account

  • Project ID

  • Service account email identifier

  • JSON file with a private key

Access and refresh tokens

  • Access and refresh tokens

  • Client ID

  • Client secret

Connect to a BigQuery database

  1. To connect to the database, create a data source that will store your connection details. You can do this using one of the following ways:

    • From the main menu, navigate to File | New | Data Source and select BigQuery.

    • In the Database tool window ( View | Tool Windows | Database) , click the New icon (the New icon) in the toolbar. Navigate to Data Source and select BigQuery.

    Create a new data source
  2. In the General tab of Data Sources and Drivers dialog right pane, specify the driver and connection type.

    1. In the Driver list, leave the default driver option, unless another driver is required for your connection.

    2. From the Connection type list, select the connection type depending on the connection details that you have:

      • default: connect by using Host, Port, Project ID, Default dataset, and URL.

      • URL only: connect by using only the URL.

      For the URL only connection type, the JDBC URL that you enter is used as is.

      For the other connection types, the JDBC URL is broken down into connection details. You can either specify them separately and use the automatically generated URL, or you can enter the URL directly in the corresponding field.

    General tab of the Data Sources and Drivers dialog
  3. Check if there is a Download missing driver files link at the bottom of the connection settings area. Click this link to download drivers that are required to interact with a database. For a direct download link, refer to the JetBrains JDBC drivers page.

    You can find the downloaded JDBC drivers in the RubyMine configuration directory.

    The IDE does not include bundled drivers in order to have a smaller size of the installation package and to keep driver versions up-to-date for each IDE version.

    The Download missing driver files link

    You can also use your drivers for the database instead of the provided ones. For more information about connecting to a database with your driver, see Add a user driver to an existing connection.

    If there is no Download missing driver files link, then you already have the required drivers.

  4. Specify the database connection details. Alternatively, paste the JDBC URL in the URL field.

    1. In the Host field, type your server address.

    2. In the Port field, type the port of BigQuery. The default port is 443.

    3. From the Authentication list, select the authentication method that you want to use to authenticate the connection. The following options are available:

    4. In the Project ID field, enter a unique identifier for your project.

    5. Depending on the selected authentication method, specify the following connection settings:

      Google Service Account
      • Service account email: your Google service account email address.

      • Key file: the full path to a private key file for the service account.

      Access and Refresh Tokens
      • Access token: your access token.

      • Refresh token: your refresh token.

      • Client ID: your client ID.

      • Client secret: your client secret.

      Application Default Credentials
      • Service account key file: the full path to a private key file for the service account.

    6. In the Default dataset field, specify the name of the default dataset that you want to connect to.

    7. In the URL field, RubyMine generates the JDBC URL automatically using the values of other connection settings.

      If you need to use a JDBC URL with certain additional settings, paste it in the URL field. The general URL to use is as follows:

      • Format: jdbc:bigquery://https://<host_address>:<port_number>;DefaultDataset=<dataset_name>

      • Example: jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;DefaultDataset=myDataset

      For more information about the URL format, refer to the BigQuery official documentation.

    Database connection details
    1. From the Authentication list, select the authentication method that you want to use to authenticate the connection. The following options are available:

    2. In the Project ID field, enter a unique identifier for your project.

    3. Depending on the selected authentication method, specify the following connection settings:

      Google Service Account
      • Service account email: your Google service account email address.

      • Key file: the full path to a private key file for the service account.

      Access and Refresh Tokens
      • Access token: your access token.

      • Refresh token: your refresh token.

      • Client ID: your client ID.

      • Client secret: your client secret.

      Application Default Credentials
      • Service account key file: the full path to a private key file for the service account.

    4. In the URL field, RubyMine generates the JDBC URL automatically using the values of other connection settings.

      If you need to use a JDBC URL with certain additional settings, paste it in the URL field. The general URL to use is as follows:

      • Format: jdbc:bigquery://https://<host_address>:<port_number>;DefaultDataset=<dataset_name>

      • Example: jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;DefaultDataset=myDataset

      For more information about the URL format, refer to the BigQuery official documentation.

    Database connection details

    For the reference information about connection settings and properties on the General and other tabs of Data Sources and Drivers dialog (Command I), see Connection settings and DBMS-specific properties.

  5. Ensure that the connection to the database can be established using the provided details. To do that, click the Test Connection link at the bottom of the connection details area.

    Test Connection link

    In case of any connection issues, refer to the Cannot connect to a database page.

  6. (Optional) By default, only the default project and dataset are introspected and available to work with. If you also want to work with other projects and datasets, in the Schemas tab, select them for the introspection.

    Schemas tab of the Data Sources and Drivers dialog
  7. Click OK to create the data source.

  8. Find your new data source in the Database tool window (Alt+1) .

    • To learn more about the Database tool window, see the corresponding reference topic.

    • To learn how to work with database objects in RubyMine, see Database objects.

    • To write and run queries, open the default query console by clicking the data source and pressing F4.

    • To view and edit data of a database object, open Data Editor and Viewer by double-clicking the object.

Connection settings and DBMS-specific properties

Connection settings

For the reference information about connection settings (for example, Host, Port, and so on) on the General and other tabs of Data Sources and Drivers dialog (Command I), see Data source settings.

DBMS-specific properties

General tab

Item

Description

Authentication method

Project ID

A unique identifier for your project.

  • Google Service Account

  • Google User Account

  • Access and Refresh Tokens

  • Application Default Credentials

Service account email

Google service account email address.

Google Service Account

Key file and Service account key file

Full path to a private key file for the service account.

  • Google Service Account

  • Application Default Credentials

Access token

Generated access token.

Access and Refresh Tokens

Refresh token

Generated refresh token.

Client ID

Generated Google client ID.

Client secret

Generated Google client secret.

Default dataset

The name of a default dataset.

  • Google Service Account

  • Google User Account

  • Access and Refresh Tokens

  • Application Default Credentials

Last modified: 07 July 2023