Connect BigQuery shared datasets to Rig

    Mirror the tables of a BigQuery dataset that someone has shared with you into your warehouse. This is the usual route for vendors that publish customer data as a dataset, and for the GA4 BigQuery export. Access works by sharing the dataset with a Rig service account.

    Before you start

    • Know the project ID that owns the dataset. If a vendor shares it with you, it is the vendor's project, shown in the BigQuery console's Explorer pane above the dataset name.
    • Know the dataset name, such as skio_trysuri_store.
    • You, or the dataset owner, need permission to edit sharing on the dataset.

    Step 1: Share the dataset with Rig

    Rig reads the dataset as a service account, so you grant that account the Data Viewer role. Open the connect form first to see the account's email, then come back here.

    1. In Rig, start the connection as described in the next step and copy the service account email Rig shows you.
    2. In the BigQuery console, open the dataset and go to Sharing then Permissions then Add principal.
    3. Paste the service account email and grant the BigQuery Data Viewer role.
    4. If the provider shares individual tables rather than the whole dataset, grant the role on those tables and name them in the Tables field in Rig.

    Your own key is optional
    If you would rather use your own service account, paste its full JSON key into Service account JSON key and grant that account BigQuery Data Viewer on the dataset instead.

    Step 2: Connect it in Rig

    Adding a source needs a workspace owner, or a role with the Manage connections permission, on a workspace where you manage your own connections. If the Connectors tab says “Data ingestion for this workspace is managed by Rig”, ask an owner or Rig support to add the source.

    1. In Rig, open Connections, choose the Connectors tab and go to Sources & actions.
    2. Search for BigQuery (shared dataset), open the card and click Connect.
    3. Pick the Rig-provisioned service account, copy its email, and share the dataset with it as described above. If you use your own account, paste its full JSON into Service account JSON key.
    4. Enter Source project ID, the project that owns the dataset.
    5. Enter Dataset, the dataset to mirror.
    6. Leave Billing project blank unless you want delta queries billed to a specific project of yours. Blank uses the service account's own project.
    7. Leave Tables blank to mirror every table. Fill it with comma-separated names only when the provider shared individual tables.
    8. Click Continue, choose the tables you want and click Connect. The source then syncs on its schedule, which is nightly unless you change it. Click Sync on its row to load data straight away.

    What Rig pulls in

    BigQuery shared datasets lands in its own bigquery_dataset schema in your warehouse:

    • Every table in the dataset: or only the tables you name. The tables come from the dataset itself, so what you see depends on what the provider shared.
    • Date-sharded tables: a family such as events_20260917 lands as one table with a _shard_date column.

    The first load of each table and every full refresh read rows directly, which costs no bytes. Only incremental updates run a query, and those bill to the billing project.

    Good to know

    • Because this is a read of someone else's dataset, you only ever see what they have shared with you.
    • For date-sharded exports such as GA4, Rig re-reads the last few days of the family on each run, so late-arriving rows are picked up.
    • BigQuery Data Viewer lets the account read table data and list the dataset's tables, and it grants no write access.
    • To disconnect BigQuery shared datasets, click the bin icon on the source's row under Sources & actions. Only whoever connected the source or a workspace owner can do this, and data already synced stays in the warehouse.

    What people use this for

    • Bring vendor-published data into your warehouse
    • Query a GA4 BigQuery export alongside business data
    • Mirror only the tables you were given

    More ideas for using BigQuery shared datasets

    Was this guide helpful?