bigquery.tables.get
bigquery.tables.getData
bigquery.tables.restoreSnapshot
bigquery.tables.create
The predefined BigQuery roles that provide the required permissions are as follows:
Role | Resource |
---|---|
Any of the following:bigquery.dataEditor bigquery.dataOwner bigquery.admin | The table snapshot that you want to copy into a writeable table. |
Any of the following:bigquery.dataEditor bigquery.dataOwner bigquery.admin | The dataset that contains the destination table. |
To create a writeable table from a snapshot, specify the table snapshot that you want to copy and the destination table. The destination table can be a new table, or you can overwrite an existing table with the table snapshot.
You can restore a table snapshot into a new table by using one of the following options:
In the Google Cloud console, go to the BigQuery page.
In the Explorer pane, expand the project and dataset nodes of the table snapshot you want to restore from.
Click the name of the table snapshot.
In the table snapshot pane that appears, click Restore.
In the Restore snapshot pane that appears, enter the Project, Dataset, and Table information for the new table.
Click Save.
Use the CREATE TABLE CLONE
DDL statement:
In the Google Cloud console, go to the BigQuery Studio page.
In the query editor, enter the following statement:
CREATETABLETABLE_PROJECT_ID.TABLE_DATASET_NAME.NEW_TABLE_NAMECLONESNAPSHOT_PROJECT_ID.SNAPSHOT_DATASET_NAME.SNAPSHOT_NAME;
Replace the following:
TABLE_PROJECT_ID
: the project ID of the project in which to create the new table.TABLE_DATASET_NAME
: the name of the dataset in which to create the new table.NEW_TABLE_NAME
: the name of the new table.SNAPSHOT_PROJECT_ID
: the project ID of the project that contains the snapshot you are restoring from.SNAPSHOT_DATASET_NAME
: the name of the dataset that contains the snapshot you are restoring from.SNAPSHOT_NAME
: the name of the snapshot you are restoring from.Click
Run.For more information about how to run queries, see Run an interactive query.
Enter the following command in the Cloud Shell:
bqcp\ --restore\ --no_clobber\SNAPSHOT_PROJECT_ID:SNAPSHOT_DATASET_NAME.SNAPSHOT_NAME\TABLE_PROJECT_ID:TABLE_DATASET_NAME.NEW_TABLE_NAME
Replace the following:
SNAPSHOT_PROJECT_ID
: the project ID of the project that contains the snapshot you are restoring from.SNAPSHOT_DATASET_NAME
: the name of the dataset that contains the snapshot you are restoring from.SNAPSHOT_NAME
: the name of the snapshot you are restoring from.TABLE_PROJECT_ID
: the project ID of the project in which to create the new table.TABLE_DATASET_NAME
: the name of the dataset in which to create the new table.NEW_TABLE_NAME
: the name of the new table.The --no_clobber
flag instructs the command to fail if the destination table already exists.
Call the jobs.insert
method with the following parameters:
Parameter | Value |
---|---|
projectId | The project ID of the project to bill for this operation. |
Request body | {"configuration":{"copy":{"sourceTables":[{"projectId":"SNAPSHOT_PROJECT_ID","datasetId":"SNAPSHOT_DATASET_NAME","tableId":"SNAPSHOT_NAME"}],"destinationTable":{"projectId":"TABLE_PROJECT_ID","datasetId":"TABLE_DATASET_NAME","tableId":"NEW_TABLE_NAME"},"operationType":"RESTORE","writeDisposition":"WRITE_EMPTY"}}} |
Replace the following:
SNAPSHOT_PROJECT_ID
: the project ID of the project that contains the snapshot you are restoring from.SNAPSHOT_DATASET_NAME
: the name of the dataset that contains the snapshot you are restoring from.SNAPSHOT_NAME
: the name of the snapshot you are restoring from.TABLE_PROJECT_ID
: the project ID of the project in which to create the new table.TABLE_DATASET_NAME
: the name of the dataset in which to create the new table.NEW_TABLE_NAME
: the name of the new table.If an expiration is not specified, then the destination table expires after the default table expiration time for the dataset that contains the destination table.
You can overwrite an existing table with a table snapshot by using one of the following options:
In the Google Cloud console, go to the BigQuery page.
In the Explorer pane, expand the project and dataset nodes of the table snapshot you want to restore from.
Click the name of the table snapshot.
In the table snapshot pane that appears, click Restore.
In the Restore snapshot pane that appears, enter the Project, Dataset, and Table information for the existing table.
Select Overwrite table if it exists.
Click Save.
Use the CREATE TABLE CLONE
DDL statement:
In the Google Cloud console, go to the BigQuery Studio page.
In the query editor, enter the following statement:
CREATEORREPLACETABLETABLE_PROJECT_ID.TABLE_DATASET_NAME.TABLE_NAMECLONESNAPSHOT_PROJECT_ID.SNAPSHOT_DATASET_NAME.SNAPSHOT_NAME;
Replace the following:
TABLE_PROJECT_ID
: the project ID of the project in which to create the new table.TABLE_DATASET_NAME
: the name of the dataset that contains the table you are overwriting.TABLE_NAME
: the name of the table you are overwriting.SNAPSHOT_PROJECT_ID
: the project ID of the project that contains the snapshot you are restoring from.SNAPSHOT_DATASET_NAME
: the name of the dataset that contains the snapshot you are restoring from.SNAPSHOT_NAME
: the name of the snapshot you are restoring from.Click
Run.For more information about how to run queries, see Run an interactive query.
Enter the following command in the Cloud Shell:
bqcp\ --restore\ --force\SNAPSHOT_PROJECT_ID:SNAPSHOT_DATASET_NAME.SNAPSHOT_NAME\TABLE_PROJECT_ID:TABLE_DATASET_NAME.TABLE_NAME
Replace the following:
SNAPSHOT_PROJECT_ID
: the project ID of the project that contains the snapshot you are restoring from.SNAPSHOT_DATASET_NAME
: the name of the dataset that contains the snapshot you are restoring from.SNAPSHOT_NAME
: the name of the snapshot you are restoring from.TABLE_PROJECT_ID
: the project ID of the project in which to create the new table.TABLE_DATASET_NAME
: the name of the dataset that contains the table you are overwriting.TABLE_NAME
: the name of the table you are overwriting.Call the jobs.insert
method with the following parameters:
Parameter | Value |
---|---|
projectId | The project ID of the project to bill for this operation. |
Request body | {"configuration":{"copy":{"sourceTables":[{"projectId":"SNAPSHOT_PROJECT_ID","datasetId":"SNAPSHOT_DATASET_NAME","tableId":"SNAPSHOT_NAME"}],"destinationTable":{"projectId":"TABLE_PROJECT_ID","datasetId":"TABLE_DATASET_NAME","tableId":"TABLE_NAME"},"operationType":"RESTORE","writeDisposition":"WRITE_TRUNCATE"}}} |
Replace the following:
SNAPSHOT_PROJECT_ID
: the project ID of the project that contains the snapshot you are restoring from.SNAPSHOT_DATASET_NAME
: the name of the dataset that contains the snapshot you are restoring from.SNAPSHOT_NAME
: the name of the snapshot you are restoring from.TABLE_PROJECT_ID
: the project ID of the project in which to create the new table.TABLE_DATASET_NAME
: the name of the dataset that contains the table you are overwriting.TABLE_NAME
: the name of the table you are overwriting.If an expiration is not specified, then the destination table expires after the default table expiration time for the dataset that contains the destination table.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-04-17 UTC.