Eliminazione modelli

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

  • Utilizzo della console Google Cloud
  • Utilizzo del comando bq rm o bq query dello strumento a riga di comando bq
  • Chiamata del metodo API models.delete o chiamata del metodo jobs.query
  • Utilizzo delle librerie client

Al momento, puoi eliminare un solo modello alla volta. Quando elimini un modello, vengono eliminati anche tutti i dati al suo interno.

Per eliminare automaticamente i modelli dopo un determinato periodo di tempo, imposta il valore e scadenza quando lo crei usando lo strumento a riga di comando bq, l'API o il client librerie. Se non hai impostato la scadenza al momento della creazione del modello, puoi aggiornare la data e l'ora di scadenza del modello.

Limitazioni all'eliminazione dei modelli

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

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

Autorizzazioni obbligatorie

Per eliminare i modelli in un set di dati, ti deve essere assegnato il WRITER nel set di dati oppure ti deve essere assegnato un ruolo Identity and Access Management (IAM) a livello di progetto che include le autorizzazioni bigquery.models.delete. Se ti viene concesso bigquery.models.delete autorizzazioni a livello di progetto, puoi eliminare i modelli in qualsiasi set di dati nel progetto. I seguenti ruoli IAM a livello di progetto includono le autorizzazioni bigquery.models.delete:

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

Per saperne di più su ruoli e autorizzazioni IAM in BigQuery ML, consulta Controllo dell'accesso.

Eliminazione di un modello

Per eliminare un modello:

Console

Puoi eliminare un modello nella console Google Cloud utilizzando l'opzione Elimina modello. oppure eseguendo una query contenente DROP MODEL | DROP MODEL IF EXISTS DDL.

Opzione 1: utilizza l'opzione Elimina modello.

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

    Vai alla pagina BigQuery

  2. Nel riquadro di navigazione, nella sezione Risorse, espandi il nome del progetto e il nome del set di dati.

  3. Fai clic sul nome del modello. I modelli sono indicato dall'icona del modello: icona modello.

  4. Sul lato destro della finestra, fai clic su Elimina modello.

  5. Nella finestra di dialogo Elimina modello, digita il nome del modello e fai clic su Elimina.

Opzione due: utilizza un'istruzione DDL.

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

    Vai alla pagina di 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 nel riquadro di navigazione.

bq

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

  • Comando bq rm con il flag --model o -m
  • 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 il valore un'azione. Puoi utilizzare --force flag (o la scorciatoia -f) per saltare la conferma.

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

Dove:

  • [PROJECT_ID] è l'ID progetto.
  • [DATASET] è il nome del set di dati.
  • [MODEL] è il nome del modello che stai eliminando.

Il comando rm non produce alcun output.

Esempi:

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

bq rm --model mydataset.mymodel

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

bq rm --model myotherproject:mydataset.mymodel

Inserisci il seguente comando per eliminare mymodel da mydataset. mydataset si trova nel tuo progetto predefinito. Il comando utilizza la scorciatoia -f per bypassare la conferma.

bq rm -f --model mydataset.mymodel

Puoi confermare che il modello è stato eliminato emettendo il comando bq ls. Per ulteriori informazioni, consulta Modelli di elenco.

Seconda opzione: inserisci il comando bq query

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

Esempi:

Inserisci il seguente comando per eliminare mymodel da mydataset. mydataset si trova nel tuo 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 tuo 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 models.delete e fornire i projectId, datasetId e modelId.

Opzione due: chiama il metodo jobs.query

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

Vai

Prima di provare questo esempio, segui le istruzioni per la configurazione di Go nel Guida rapida di BigQuery con librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API BigQuery Go.

Per autenticarti a BigQuery, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, 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 riportate nella guida rapida all'utilizzo di BigQuery con le librerie client. Per ulteriori informazioni, consulta API Java BigQuery documentazione di riferimento.

Per autenticarti a BigQuery, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, 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 riportate nella guida rapida all'utilizzo di BigQuery con le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API BigQuery Node.js.

Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, 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 Python riportate nella guida rapida all'utilizzo di BigQuery con le librerie client. Per ulteriori informazioni, consulta API Python BigQuery documentazione di riferimento.

Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare 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))

Ripristinare un modello eliminato

Al momento, non puoi ripristinare un modello eliminato.

Passaggi successivi