Excluir modelos

Nesta página, você verá como excluir modelos do BigQuery ML. É possível fazer isso:

Só é possível excluir um modelo por vez. Quando você exclui um modelo, todos os dados nele também são excluídos.

Para excluir modelos automaticamente após um período especificado, defina o prazo de validade do modelo ao criá-lo usando a ferramenta de linha de comando bq, a API ou as bibliotecas de cliente. Se você não definiu isso quando o modelo foi criado, é possível atualizar o prazo de validade do modelo.

Limitações ao excluir modelos

A exclusão de um modelo está sujeita às seguintes limitações:

  • Não é possível excluir vários modelos ao mesmo tempo. É necessário excluí-los individualmente.
  • Não é possível restaurar um modelo excluído.

Permissões necessárias

Para excluir modelos em um conjunto de dados, você precisa receber o papel WRITER no conjunto de dados ou um papel Identity and Access Management (IAM) no nível do projeto que inclui permissões bigquery.models.delete. Se você receber as permissões bigquery.models.delete no nível do projeto, poderá excluir modelos em qualquer conjunto de dados no projeto. Os seguintes papéis do IAM no nível do projeto incluem as permissões bigquery.models.delete:

  • bigquery.dataEditor
  • bigquery.dataOwner
  • bigquery.admin

Para mais informações sobre os papéis e as permissões do IAM no BigQuery ML, consulte Controle de acesso.

Excluir um modelo

Para excluir um modelo, siga estas instruções:

Console

É possível excluir um modelo no console do Google Cloud usando a opção Excluir modelo ou então executando uma consulta que contenha uma instrução DDL DROP MODEL | DROP MODEL IF EXISTS.

Opção 1: usar Excluir modelo

  1. No painel Explorer, expanda o projeto e um conjunto de dados.

  2. Abra a pasta Models no conjunto de dados e clique em um nome de modelo para selecioná-lo.

  3. Clique no ícone de opções do modelo e em Excluir.

  4. Na caixa de diálogo Excluir modelo, digite delete e clique em Excluir.

Opção 2: usar uma instrução DDL

  1. No console do Google Cloud, acesse a página do BigQuery.

    Acesse a página do BigQuery

  2. Clique em Escrever nova consulta.

  3. Digite sua instrução DDL na área de texto do editor de consultas.

     DROP MODEL mydataset.mymodel

  4. Clique em Executar. Quando a consulta é concluída, o modelo é removido do painel de navegação.

bq

Para excluir um modelo usando a ferramenta de linha de comando bq, insira:

  • o comando bq rm com a sinalização --model ou -m;
  • o comando bq query com a instrução DDL como o parâmetro de consulta.

Se você estiver excluindo um modelo em um projeto diferente do seu projeto padrão, adicione o ID do projeto ao conjunto de dados no seguinte formato: [PROJECT_ID]:[DATASET].[MODEL].

Opção 1: digite o comando bq rm

Quando você usa o comando bq rm para remover um modelo, é necessário confirmar a ação. É possível usar --force flag ou o atalho -f para pular a confirmação.

bq rm -f --model PROJECT_ID:DATASET.MODEL

Substitua:

  • PROJECT_ID é o ID do projeto.
  • DATASET é o nome do conjunto de dados.
  • MODEL é o nome do modelo.

O comando rm não produz saída.

Exemplos:

Digite o seguinte comando para excluir mymodel de mydataset. mydataset está em seu projeto padrão.

bq rm --model mydataset.mymodel

Digite o seguinte comando para excluir mymodel de mydataset. mydataset está em myotherproject, e não no seu projeto padrão.

bq rm --model myotherproject:mydataset.mymodel

Digite o seguinte comando para excluir mymodel de mydataset. mydataset está em seu projeto padrão. O comando usa o atalho -f para ignorar a confirmação.

bq rm -f --model mydataset.mymodel

É possível confirmar se o modelo foi excluído emitindo o comando bq ls. Para mais informações, consulte Modelos de lista.

Opção 2: digite o comando bq query

Para excluir um modelo usando o comando bq query, forneça a instrução DROP MODEL no parâmetro de consulta e forneça o flag --use_legacy_sql=false para especificar a sintaxe de consulta do GoogleSQL padrão.

Exemplos:

Digite o seguinte comando para excluir mymodel de mydataset. mydataset está em seu projeto padrão.

bq query --use_legacy_sql=false 'DROP MODEL mydataset.mymodel'

Digite o seguinte comando para excluir mymodel de mydataset. mydataset está em myotherproject, e não no seu projeto padrão.

bq query --use_legacy_sql=false \
'DROP MODEL myotherproject:mydataset.mymodel'

API

Opção 1: chame o método models.delete

Para excluir um modelo, chame o método models.delete e forneça o projectId, datasetId e modelId.

Opção 2: chame o método jobs.query

Para excluir um modelo, chame o método jobs.query e forneça a instrução DDL DROP MODEL na propriedade da consulta do corpo da solicitação.

Go

Antes de testar esta amostra, siga as instruções de configuração do Go no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery em Go.

Para autenticar no BigQuery, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.

import (
	"context"
	"fmt"

	"cloud.google.com/go/bigquery"
)

// deleteModel demonstrates deletion of BigQuery ML model.
func deleteModel(projectID, datasetID, modelID string) error {
	// projectID := "my-project-id"
	// datasetID := "mydataset"
	// modelID := "mymodel"
	ctx := context.Background()
	client, err := bigquery.NewClient(ctx, projectID)
	if err != nil {
		return fmt.Errorf("bigquery.NewClient: %w", err)
	}
	defer client.Close()

	model := client.Dataset(datasetID).Model(modelID)
	if err := model.Delete(ctx); err != nil {
		return fmt.Errorf("couldn't delete model: %w", err)
	}
	return nil
}

Java

Antes de testar esta amostra, siga as instruções de configuração do Java no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery em Java.

Para autenticar no BigQuery, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.

import com.google.cloud.bigquery.BigQuery;
import com.google.cloud.bigquery.BigQueryException;
import com.google.cloud.bigquery.BigQueryOptions;
import com.google.cloud.bigquery.ModelId;

// Sample to delete a model
public class DeleteModel {

  public static void main(String[] args) {
    // TODO(developer): Replace these variables before running the sample.
    String datasetName = "MY_DATASET_NAME";
    String modelName = "MY_MODEL_NAME";
    deleteModel(datasetName, modelName);
  }

  public static void deleteModel(String datasetName, String modelName) {
    try {
      // Initialize client that will be used to send requests. This client only needs to be created
      // once, and can be reused for multiple requests.
      BigQuery bigquery = BigQueryOptions.getDefaultInstance().getService();
      boolean success = bigquery.delete(ModelId.of(datasetName, modelName));
      if (success) {
        System.out.println("Model deleted successfully");
      } else {
        System.out.println("Model was not found");
      }
    } catch (BigQueryException e) {
      System.out.println("Model was not deleted. \n" + e.toString());
    }
  }
}

Node.js

Antes de testar esta amostra, siga as instruções de configuração do Node.js no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery em Node.js.

Para autenticar no BigQuery, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.

// Import the Google Cloud client library
const {BigQuery} = require('@google-cloud/bigquery');
const bigquery = new BigQuery();

async function deleteModel() {
  // Deletes a model named "my_model" from "my_dataset".

  /**
   * TODO(developer): Uncomment the following lines before running the sample
   */
  // const datasetId = "my_dataset";
  // const modelId = "my_model";

  const dataset = bigquery.dataset(datasetId);
  const model = dataset.model(modelId);
  await model.delete();

  console.log(`Model ${modelId} deleted.`);
}

Python

Antes de testar esta amostra, siga as instruções de configuração do Python no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery em Python.

Para autenticar no BigQuery, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.


from google.cloud import bigquery

# Construct a BigQuery client object.
client = bigquery.Client()

# TODO(developer): Set model_id to the ID of the model to fetch.
# model_id = 'your-project.your_dataset.your_model'

client.delete_model(model_id)  # Make an API request.

print("Deleted model '{}'.".format(model_id))

Restaurar um modelo excluído

Não é possível restaurar um modelo excluído.

A seguir