Delete models
This page shows you how to delete BigQuery ML models. You can delete a model by:
- Using the Google Cloud console
- Using the bq command-line tool's
bq rm
command orbq query
command - Calling the
models.delete
API method or calling thejobs.query
method - Using the client libraries
You can only delete one model at a time. When you delete a model, any data in the model is also deleted.
To automatically delete models after a specified period of time, set the model's expiration time when you create it using the bq command-line tool, the API, or the client libraries. If you did not set the expiration when the model was created, you can update the model's expiration time.
Limitations on deleting models
Deleting a model is subject to the following limitations:
- You can't delete multiple models at the same time. You must delete them individually.
- You can't restore a deleted model.
Required permissions
To delete models in a dataset, you must be assigned the
WRITER
role on the dataset, or you must be assigned a project-level Identity and Access Management (IAM) role that
includes bigquery.models.delete
permissions. If you are granted
bigquery.models.delete
permissions at the project level, you can delete models
in any dataset in the project. The following project-level IAM roles
include bigquery.models.delete
permissions:
bigquery.dataEditor
bigquery.dataOwner
bigquery.admin
For more information about IAM roles and permissions in BigQuery ML, see Access control.
Delete a model
To delete a model, do the following:
Console
You can delete a model in the Google Cloud console by using the Delete Model option
or by running a query that contains a
DROP MODEL | DROP MODEL IF EXISTS
DDL statement.
Option one: Use the Delete Model option.
In the Explorer pane, expand your project and then expand a dataset.
Expand the Models folder in the dataset, and then click a model name to select the model.
Click the options icon
for the model and then click Delete.In the Delete model dialog, type
delete
and then click Delete.
Option two: Use a DDL statement.
In the Google Cloud console, go to the BigQuery page.
Click Compose new query.
Type your DDL statement in the Query editor text area.
DROP MODEL mydataset.mymodel
Click Run. When the query completes, the model is removed from the navigation pane.
bq
You can delete a model using the bq command-line tool by entering the:
bq rm
command with the--model
or-m
flagbq query
command with the DDL statement as the query parameter
If you are deleting a model in a project other than your default project,
add the project ID to the dataset in the following format:
[PROJECT_ID]:[DATASET].[MODEL]
.
Option one: Enter the bq rm
command
When you use the bq rm
command to remove a model, you must confirm the
action. You can use the --force flag
(or -f
shortcut) to skip confirmation.
bq rm -f --model PROJECT_ID:DATASET.MODEL
Replace the following:
PROJECT_ID
is your project ID.DATASET
is the name of the dataset.MODEL
is the name of the model.
The rm
command produces no output.
Examples:
Enter the following command to delete mymodel
from mydataset
. mydataset
is in your default project.
bq rm --model mydataset.mymodel
Enter the following command to delete mymodel
from mydataset
. mydataset
is in myotherproject
, not your default project.
bq rm --model myotherproject:mydataset.mymodel
Enter the following command to delete mymodel
from mydataset
. mydataset
is in your default project. The command uses the -f
shortcut to bypass
confirmation.
bq rm -f --model mydataset.mymodel
You can confirm that the model was deleted by issuing the bq ls
command.
For more information, see List models.
Option two: Enter the bq query
command
To delete a model by using the bq query
command, supply the DROP MODEL
statement in the query parameter and supply the --use_legacy_sql=false
flag to specify GoogleSQL query syntax.
Examples:
Enter the following command to delete mymodel
from mydataset
. mydataset
is in your default project.
bq query --use_legacy_sql=false 'DROP MODEL mydataset.mymodel'
Enter the following command to delete mymodel
from mydataset
. mydataset
is in myotherproject
, not your default project.
bq query --use_legacy_sql=false \
'DROP MODEL myotherproject:mydataset.mymodel'
API
Option one: Call the models.delete
method
To delete a model, call the models.delete
method and provide the projectId
, datasetId
, and modelId
.
Option two: Call the jobs.query
method
To delete a model, call the jobs.query
method and supply the DROP MODEL
DDL statement in the request body's
query property.
Go
Before trying this sample, follow the Go setup instructions in the
BigQuery quickstart using
client libraries.
For more information, see the
BigQuery Go API
reference documentation.
To authenticate to BigQuery, set up Application Default Credentials.
For more information, see
Set up authentication for client libraries.
Java
Before trying this sample, follow the Java setup instructions in the
BigQuery quickstart using
client libraries.
For more information, see the
BigQuery Java API
reference documentation.
To authenticate to BigQuery, set up Application Default Credentials.
For more information, see
Set up authentication for client libraries.
Node.js
Before trying this sample, follow the Node.js setup instructions in the
BigQuery quickstart using
client libraries.
For more information, see the
BigQuery Node.js API
reference documentation.
To authenticate to BigQuery, set up Application Default Credentials.
For more information, see
Set up authentication for client libraries.
Python
Before trying this sample, follow the Python setup instructions in the
BigQuery quickstart using
client libraries.
For more information, see the
BigQuery Python API
reference documentation.
To authenticate to BigQuery, set up Application Default Credentials.
For more information, see
Set up authentication for client libraries.
Restore a deleted model
You can't restore a deleted model.
What's next
- For an overview of BigQuery ML, see Introduction to BigQuery ML.
- To get started using BigQuery ML, see Create machine learning models in BigQuery ML.
- To learn more about working with models, see: