删除模型
本页面介绍如何删除 BigQuery ML 模型。您可以通过以下方式删除模型:
- 使用 Google Cloud 控制台
- 使用 bq 命令行工具的
bq rm
命令或bq query
命令 - 调用
models.delete
API 方法或调用jobs.query
方法 - 使用客户端库
目前,您每次只能删除一个模型。删除模型时,该模型中的任何数据也将被删除。
如需在指定的时间段后自动删除模型,请在使用 bq 命令行工具、API 或客户端库创建模型时设置模型的到期时间。如果在创建模型时未设置到期时间,则可以更新模型的到期时间。
删除模型的限制
删除模型受到以下限制:
- 您不能同时删除多个模型。您必须逐个删除它们。
- 您无法恢复已删除的模型。
所需权限
如需删除数据集中的模型,您必须分配有数据集的 WRITER
角色,或者您必须分配有提供 bigquery.models.delete
权限的项目级 Identity and Access Management (IAM) 角色。如果您拥有项目级的 bigquery.models.delete
权限,则可以删除项目中任何数据集中的模型。以下项目级 IAM 角色包含 bigquery.models.delete
权限:
bigquery.dataEditor
bigquery.dataOwner
bigquery.admin
如需详细了解 BigQuery ML 中 IAM 角色和权限,请参阅访问权限控制。
删除模型
如需删除模型,请执行以下操作:
控制台
您可以在 Google Cloud 控制台中删除模型,方法是使用删除模型选项或运行包含 DROP MODEL | DROP MODEL IF EXISTS
DDL 语句的查询。
方式一:使用删除模型选项。
在 Google Cloud 控制台中,前往 BigQuery 页面。
在导航面板的资源部分中,展开项目名称和数据集名称。
点击您的模型名称。模型由模型图标 表示。
点击窗口右侧的删除模型。
在删除模型对话框中,输入模型名称,然后点击删除。
方式二:使用 DDL 语句。
在 Google Cloud 控制台中,前往 BigQuery 页面。
点击编写新查询。
在查询编辑器文本区域中,键入您的 DDL 语句。
DROP MODEL mydataset.mymodel
点击运行。完成查询后,系统会从导航窗格中移除该模型。
bq
您可以使用 bq 命令行工具删除模型,方法如下:
- 输入带
--model
或-m
标志的bq rm
命令 - 输入将 DDL 语句用作查询参数的
bq query
命令
如果您要删除非默认项目中的模型,请按以下格式将相应项目 ID 添加到数据集内:[PROJECT_ID]:[DATASET].[MODEL]
。
方式一:输入 bq rm
命令
使用 bq rm
命令移除模型时,必须确认该操作。您可以使用 --force flag
(或 -f
快捷方式)跳过确认。
bq rm -f --model [PROJECT_ID]:[DATASET].[MODEL]
其中:
[PROJECT_ID]
是您的项目 ID。[DATASET]
是数据集的名称。[MODEL]
是要删除的模型的名称。
rm
命令没有任何输出。
示例:
输入以下命令可从 mydataset
删除 mymodel
。mydataset
在默认项目中。
bq rm --model mydataset.mymodel
输入以下命令可从 mydataset
删除 mymodel
。mydataset
在 myotherproject
中,不在默认项目中。
bq rm --model myotherproject:mydataset.mymodel
输入以下命令可从 mydataset
删除 mymodel
。mydataset
在默认项目中。该命令使用 -f
快捷方式绕过确认。
bq rm -f --model mydataset.mymodel
您可以通过发出 bq ls
命令来确认模型已删除。如需了解详情,请参阅列出模型。
方式二:输入 bq query
命令
如需使用 bq query
命令删除模型,请在查询参数中提供 DROP MODEL
语句,并提供 --use_legacy_sql=false
标志以指定 GoogleSQL 查询语法。
示例:
输入以下命令可从 mydataset
删除 mymodel
。mydataset
在默认项目中。
bq query --use_legacy_sql=false 'DROP MODEL mydataset.mymodel'
输入以下命令可从 mydataset
删除 mymodel
。mydataset
在 myotherproject
中,不在默认项目中。
bq query --use_legacy_sql=false \
'DROP MODEL myotherproject:mydataset.mymodel'
API
方式一:调用 models.delete
方法
要删除模型,请调用 models.delete
方法并提供 projectId
、datasetId
和 modelId
。
方式二:调用 jobs.query
方法
要删除模型,请调用 jobs.query
方法并在请求正文的 query 属性中提供 DROP MODEL
DDL 语句。
Go
试用此示例之前,请按照 BigQuery 快速入门:使用客户端库中的 Go 设置说明进行操作。如需了解详情,请参阅 BigQuery Go API 参考文档。
如需向 BigQuery 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
Java
试用此示例之前,请按照 BigQuery 快速入门:使用客户端库中的 Java 设置说明进行操作。如需了解详情,请参阅 BigQuery Java API 参考文档。
如需向 BigQuery 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
Node.js
试用此示例之前,请按照 BigQuery 快速入门:使用客户端库中的 Node.js 设置说明进行操作。如需了解详情,请参阅 BigQuery Node.js API 参考文档。
如需向 BigQuery 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
Python
试用此示例之前,请按照 BigQuery 快速入门:使用客户端库中的 Python 设置说明进行操作。如需了解详情,请参阅 BigQuery Python API 参考文档。
如需向 BigQuery 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
恢复已删除的模型
目前,您无法恢复已删除的模型。
后续步骤
- 如需大致了解 BigQuery ML,请参阅 BigQuery ML 简介。
- 如需开始使用 BigQuery ML,请参阅在 BigQuery ML 中创建机器学习模型。
- 如需详细了解如何使用模型,请参阅以下内容: