Skip to main content

BigQuery

Connect to BigQuery using account impersonation or via a credentials JSON file.

You can decide to separate the billing/execution of your queries from where the data is located via two separate Google projects if required.

Managing data access

Please read the general guidance on managing access first

For larger scale data warehouses we recommened organizing your data in the following way:

  • Create a unique service account for each Qluent project e.g. qluent_{qluent_project_name}@{google_project_id}.iam.gserviceaccount.com
  • Create a unique dataset for each Qluent project e.g. qluent_{qluent_project_name}
  • Grant the service account access to the dataset with the following roles:
    • BigQuery Data Viewer roles/bigquery.dataViewer - provides access to the data itself
    • BigQuery Metadata Viewer roles/bigquery.metadataViewer - provides Qluent the ability to understand your data prior to asking questions includes tables, columns, types and descriptions
    • BigQuery Job User aka roles/bigquery.jobUser - allows running of queries aka jobs
    • BigQuery Read Session User roles/bigquery.readSessionUser - provides the ability to read user sessions
  • Reference data from other datasets through BigQuery views filtering by the project specific needs
    • e.g. my_data.orders which includes all orders from Europe could be filtered via dataset qluent_france with a view orders via the SQL SELECT my_data.orders WHERE country_code = 'FR'