Eliminar modelos

Esta página mostra-lhe como eliminar modelos do BigQuery ML. Pode eliminar um modelo da seguinte forma:

  • Usar a Google Cloud consola
  • Usar o comando bq rm da ferramenta de linhas de comando bq ou o comando bq query
  • Chamar o método da API models.delete ou chamar o método jobs.query
  • Usar as bibliotecas de cliente

Só pode eliminar um modelo de cada vez. Quando elimina um modelo, todos os dados no modelo também são eliminados.

Para eliminar automaticamente os modelos após um período especificado, defina o tempo de expiração do modelo quando o criar através da ferramenta de linha de comandos bq, da API ou das bibliotecas de cliente. Se não definiu a data de validade quando o modelo foi criado, pode atualizar a data de validade do modelo.

Limitações na eliminação de modelos

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

  • Não pode eliminar vários modelos em simultâneo. Tem de os eliminar individualmente.
  • Não pode restaurar um modelo eliminado.

Autorizações necessárias

Para eliminar modelos num conjunto de dados, tem de ter a função WRITER atribuída no conjunto de dados ou uma função de gestão de identidade e acesso (IAM) ao nível do projeto que inclua autorizações bigquery.models.delete. Se lhe forem concedidas bigquery.models.deleteautorizações ao nível do projeto, pode eliminar modelos em qualquer conjunto de dados no projeto. As seguintes funções de IAM ao nível do projeto incluem autorizações bigquery.models.delete:

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

Para mais informações sobre as funções e as autorizações do IAM no BigQuery ML, consulte o artigo Controlo de acesso.

Elimine um modelo

Para eliminar um modelo, faça o seguinte:

Consola

Pode eliminar um modelo na Google Cloud consola através da opção Eliminar modelo ou executando uma consulta que contenha uma declaração DDL DROP MODEL | DROP MODEL IF EXISTS.

Opção 1: use a opção Eliminar modelo.

  1. No painel Explorador, expanda o seu projeto e, em seguida, expanda um conjunto de dados.

  2. Expanda a pasta Modelos no conjunto de dados e, de seguida, clique no nome de um modelo para selecionar o modelo.

  3. Clique no ícone de opções para o modelo e, de seguida, clique em Eliminar.

  4. Na caixa de diálogo Eliminar modelo, escreva delete e, de seguida, clique em Eliminar.

Opção dois: use uma declaração DDL.

  1. Na Google Cloud consola, aceda à página do BigQuery.

    Aceda à página do BigQuery

  2. Clique em Redigir nova consulta.

  3. Escreva a sua declaração DDL na área de texto do editor de consultas.

     DROP MODEL mydataset.mymodel

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

bq

Pode eliminar um modelo através da ferramenta de linhas de comando bq introduzindo o seguinte:

  • bq rm com a marca --model ou -m
  • bq query com a declaração DDL como parâmetro de consulta

Se estiver a eliminar um modelo num projeto que não seja o projeto predefinido, adicione o ID do projeto ao conjunto de dados no seguinte formato: [PROJECT_ID]:[DATASET].[MODEL].

Opção 1: introduza o comando bq rm

Quando usa o comando bq rm para remover um modelo, tem de confirmar a ação. Pode usar o atalho --force flag (ou -f) para ignorar a confirmação.

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

Substitua o seguinte:

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

O comando rm não produz qualquer resultado.

Exemplos:

Introduza o seguinte comando para eliminar mymodel de mydataset. mydataset está no seu projeto predefinido.

bq rm --model mydataset.mymodel

Introduza o seguinte comando para eliminar mymodel de mydataset. mydataset está em myotherproject e não no seu projeto predefinido.

bq rm --model myotherproject:mydataset.mymodel

Introduza o seguinte comando para eliminar mymodel de mydataset. mydataset está no seu projeto predefinido. O comando usa o atalho -f para ignorar a confirmação.

bq rm -f --model mydataset.mymodel

Pode confirmar que o modelo foi eliminado emitindo o comando bq ls. Para mais informações, consulte o artigo Modelos de listas.

Opção dois: introduza o comando bq query

Para eliminar um modelo através do comando bq query, forneça a declaração DROP MODEL no parâmetro de consulta e forneça a flag --use_legacy_sql=false para especificar a sintaxe de consulta do GoogleSQL.

Exemplos:

Introduza o seguinte comando para eliminar mymodel de mydataset. mydataset está no seu projeto predefinido.

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

Introduza o seguinte comando para eliminar mymodel de mydataset. mydataset está em myotherproject e não no seu projeto predefinido.

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

API

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

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

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

Para eliminar um modelo, chame o método jobs.query e forneça a declaração DDL na propriedade query do corpo do pedido.DROP MODEL

Go

Antes de experimentar este exemplo, siga as Goinstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Go BigQuery documentação de referência.

Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure 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 experimentar este exemplo, siga as Javainstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Java BigQuery documentação de referência.

Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure 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 experimentar este exemplo, siga as Node.jsinstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Node.js BigQuery documentação de referência.

Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure 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 experimentar este exemplo, siga as Pythoninstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Python BigQuery documentação de referência.

Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure 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))

Restaure um modelo eliminado

Não pode restaurar um modelo eliminado.

O que se segue?