Como excluir modelos

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

No momento, 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, é preciso receber o papel WRITER no conjunto de dados ou um papel do IAM no nível do projeto que inclua as 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. Para mais informações sobre papéis no nível do conjunto de dados, consulte Papéis e permissões básicos na documentação do BigQuery.

exclusão de um modelo

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

Console

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

Opção 1: usar Excluir modelo

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

    Acesse a página do BigQuery

  2. Na seção Recursos do painel de navegação, expanda os nomes do projeto e do conjunto de dados.

  3. Clique no nome do modelo. Os modelos são indicados pelo ícone: ícone do modelo.

  4. No lado direito da janela, clique em Excluir modelo.

  5. Na caixa de diálogo Excluir modelo, digite o nome do modelo e clique em Excluir.

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

  1. No Console do 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]

Em que:

  • [PROJECT_ID] é o ID do projeto;
  • [DATASET] é o nome do conjunto de dados.
  • [MODEL] é o nome do modelo que você está excluindo.

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 Como listar modelos.

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 a sinalização --use_legacy_sql=false para especificar a sintaxe de consulta do SQL 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

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: %v", err)
	}
	defer client.Close()

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

Java

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

// 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


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))

Como restaurar um modelo excluído

No momento, não é possível restaurar um modelo excluído.

A seguir