domino logo
5.0
  • Overview
  • Domino Cloud
  • Code Assist
  • Get started
  • Work with data
  • Develop models
  • Scale out distributed computing
  • Deploy models
  • Monitor models
  • Publish apps
  • Projects
  • Collaborate
  • Workspaces
  • Jobs
  • Environments
  • Executions
  • Launchers
  • Environment variables
  • Secure credential store
  • Organizations
  • Domino API
  • Domino CLI
  • Troubleshooting
  • Get help
  • Additional Resources
domino logo
About Domino
Domino Data LabKnowledge BaseData Science BlogTraining
>
User Guide
>
Work with data
>
Access external data
>
Data Source connectors
>
Connect to BigQuery

Connect to BigQuery

Domino can connect to and query any common database, including Google BigQuery.

You must have network connectivity between BigQuery and your Domino deployment.

Warning
Connect to Google BigQuery
  1. Go to Google’s Service Accounts page. Select a previous project or create a new project.

    mceclip2

    If you selected Create, the New Project page opens:

    mceclip4

  2. Create a Service account for your project.

    mceclip5

  3. Define the access that the Service account must have to BigQuery. See Google’s Access Control documentation for more information.

    mceclip6

  4. Confirm that your Service account has been created.

    mceclip7

  5. On the Service Accounts page, create a new key.

    mceclip8

  6. Download the JSON key and keep it in a safe place. You will use this key later to programmatically authenticate to Google.

    mceclip10

  7. To enable the BigQuery API, click the Google APIs logo.

    mceclip11

  8. In the Library page, select the Big Query API.

    mceclip13

  9. If it is not enabled, click Enable.

    mceclip14

Activate your credentials from Domino

Google Cloud uses the Google Cloud SDK to activate your credentials. This is already installed in the Domino Default environment.

Execute the following bash command:

/home/ubuntu/google-cloud-sdk/bin/gcloud auth activate-service-account <service account name> --key-file <key file path>

For example:

/home/ubuntu/google-cloud-sdk/bin/gcloud auth activate-service-account big-query-example@example-big-query-170823.iam.gserviceaccount.com --key-file key.json

You can use a custom Domino compute environment and enter this command in Domino pre-setup script to activate the credentials before each run. Otherwise, you can execute them in workspace sessions. See how to store your credentials securely.

Authenticate and query using Python

You need the gcloud and oauth2client==1.4.12 Python packages. Use the following package to install them in your custom Domino compute environment or in your workspace session.

pip install --user gcloud oauth2client==1.4.12

Use the following code to authenticate your Google credentials and query a public BigQuery table:

from oauth2client.client import GoogleCredentials
from googleapiclient.discovery import build

# Grab the application's default credentials from the environment.
credentials = GoogleCredentials.get_application_default()

# Construct the service object for interacting with the BigQuery API.
bigquery_service = build('bigquery', 'v2', credentials=credentials)

query_request = bigquery_service.jobs()
query_data = {
    'query': (
    'SELECT TOP(corpus, 10) as title, '
    'COUNT(*) as unique_words '
    'FROM [publicdata:samples.shakespeare];')
}

query_response = query_request.query(
    projectId='example-big-query-170823', # Substitute your ProjectId
    body=query_data).execute()

print('Query Results:')
for row in query_response['rows']:
    print('\t'.join(field['v'] for field in row['f']))
Domino Data Lab
Knowledge Base
Data Science Blog
Training
Copyright © 2022 Domino Data Lab. All rights reserved.