Eliminazione modelli

Questa pagina mostra come eliminare i modelli BigQuery ML. Puoi eliminare un modello:

  • Utilizzando la Google Cloud console
  • Utilizzando il comando bq rm o bq query dello strumento a riga di comando bq
  • Chiamando il models.delete metodo API o chiamando il jobs.query metodo
  • Utilizzando le librerie client

Puoi eliminare un solo modello alla volta. Quando elimini un modello, vengono eliminati anche tutti i dati in esso contenuti.

Per eliminare automaticamente i modelli dopo un periodo di tempo specificato, imposta il tempo di scadenza del modello quando lo crei utilizzando lo strumento a riga di comando bq, l'API o le librerie client. Se non hai impostato la scadenza al momento della creazione del modello, puoi aggiornarla.

Limitazioni relative all'eliminazione dei modelli

L'eliminazione di un modello è soggetta alle seguenti limitazioni:

  • Non puoi eliminare più modelli contemporaneamente. Devi eliminarli singolarmente.
  • Non puoi ripristinare un modello eliminato.

Autorizzazioni obbligatorie

Per eliminare i modelli in un set di dati, devi disporre del WRITER ruolo nel set di dati o di un ruolo IAM (Identity and Access Management) a livello di progetto che includa bigquery.models.delete autorizzazioni. Se ti vengono concesse le autorizzazioni bigquery.models.delete a livello di progetto, puoi eliminare i modelli in qualsiasi set di dati del progetto. I seguenti ruoli IAM a livello di progetto includono le autorizzazioni bigquery.models.delete:

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

Per ulteriori informazioni sui ruoli e sulle autorizzazioni IAM in BigQuery ML, consulta Controllo dell'accesso.

Eliminazione di un modello

Per eliminare un modello:

Console

Puoi eliminare un modello nella Google Cloud console utilizzando l'opzione Elimina modello o eseguendo una query che contiene un' DROP MODEL | DROP MODEL IF EXISTS istruzione DDL.

Opzione 1: utilizza l'opzione Elimina modello.

  1. Nel riquadro a sinistra, fai clic su Esplora:

    Pulsante evidenziato per il riquadro Spazio di esplorazione.

    Se non vedi il riquadro a sinistra, fai clic su Espandi riquadro a sinistra per aprirlo.

  2. Nel riquadro Explorer, espandi il progetto, fai clic su Set di dati, e poi sul set di dati.

  3. Fai clic sulla scheda Modelli e poi sul nome di un modello per selezionarlo.

  4. Fai clic sull'icona delle opzioni per il modello e poi su Elimina.

  5. Nella finestra di dialogo Elimina modello, digita delete e poi fai clic su Elimina.

Opzione 2: utilizza un'istruzione DDL.

  1. Nella Google Cloud console, vai alla pagina BigQuery.

    Vai alla pagina BigQuery

  2. Fai clic su Crea nuova query.

  3. Digita l'istruzione DDL nell'area di testo Editor di query.

     DROP MODEL mydataset.mymodel

  4. Fai clic su Esegui. Al termine della query, il modello viene rimosso dal riquadro di navigazione.

bq

Puoi eliminare un modello utilizzando lo strumento a riga di comando bq inserendo:

  • Il comando bq rm con il flag --model o -m
  • Il comando bq query con l'istruzione DDL come parametro di query

Se stai eliminando un modello in un progetto diverso da quello predefinito, aggiungi l'ID progetto al set di dati nel seguente formato: [PROJECT_ID]:[DATASET].[MODEL].

Opzione 1: inserisci il comando bq rm

Quando utilizzi il comando bq rm per rimuovere un modello, devi confermare l'azione. Puoi utilizzare il --force flag (o il tasto di scelta rapida -f) per saltare la conferma.

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

Sostituisci quanto segue:

  • PROJECT_ID è l'ID progetto.
  • DATASET è il nome del set di dati.
  • MODEL è il nome del modello.

Il comando rm non produce output.

Esempi:

Inserisci il seguente comando per eliminare mymodel da mydataset. mydataset si trova nel progetto predefinito.

bq rm --model mydataset.mymodel

Inserisci il seguente comando per eliminare mymodel da mydataset. mydataset si trova in myotherproject, non nel progetto predefinito.

bq rm --model myotherproject:mydataset.mymodel

Inserisci il seguente comando per eliminare mymodel da mydataset. mydataset si trova nel progetto predefinito. Il comando utilizza il tasto di scelta rapida -f per ignorare la conferma.

bq rm -f --model mydataset.mymodel

Puoi verificare che il modello sia stato eliminato eseguendo il comando bq ls. Per ulteriori informazioni, consulta Elenco dei modelli.

Opzione 2: inserisci il comando bq query

Per eliminare un modello utilizzando il comando bq query, fornisci l'istruzione DROP MODEL nel parametro di query e il flag --use_legacy_sql=false per specificare la sintassi della query GoogleSQL.

Esempi:

Inserisci il seguente comando per eliminare mymodel da mydataset. mydataset si trova nel progetto predefinito.

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

Inserisci il seguente comando per eliminare mymodel da mydataset. mydataset si trova in myotherproject, non nel progetto predefinito.

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

API

Opzione 1: chiama il metodo models.delete

Per eliminare un modello, chiama il models.delete metodo e fornisci projectId, datasetId, e modelId.

Opzione 2: chiama il metodo jobs.query

Per eliminare un modello, chiama il jobs.query metodo e fornisci l'istruzione DDL DROP MODEL nella proprietà query del corpo della richiesta.

Vai

Prima di provare questo esempio, segui le istruzioni di configurazione di Go nella guida rapida di BigQuery per l'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Go BigQuery.

Per eseguire l'autenticazione in BigQuery, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.

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

Prima di provare questo esempio, segui le istruzioni di configurazione Java nella guida rapida di BigQuery per l'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API BigQuery Java.

Per eseguire l'autenticazione in BigQuery, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.

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

Prima di provare questo esempio, segui le istruzioni di configurazione Node.js nella guida rapida di BigQuery per l'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Node.jsBigQuery.

Per eseguire l'autenticazione in BigQuery, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.

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

Prima di provare questo esempio, segui le istruzioni di configurazione di Python nella guida rapida di BigQuery per l'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API BigQuery.Python

Per eseguire l'autenticazione in BigQuery, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.


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

Ripristino di un modello eliminato

Non puoi ripristinare un modello eliminato.

Passaggi successivi