Modelle löschen

Auf dieser Seite erfahren Sie, wie Sie BigQuery ML-Modelle löschen. Dafür haben Sie folgende Möglichkeiten:

  • Cloud Console verwenden
  • Die Befehle bq rm oder bq query des bq-Befehlszeilentools verwenden
  • Durch Aufrufen der API-Methode models.delete oder Aufrufen der Methode jobs.query
  • Mit den Clientbibliotheken

Derzeit können Sie nur ein Modell auf einmal löschen. Wenn Sie ein Modell löschen, werden die Daten im Modell ebenfalls gelöscht.

Wenn Modelle nach einem bestimmten Zeitraum automatisch gelöscht werden sollen, legen Sie die Ablaufzeit des Modells fest, wenn Sie es mit dem bq-Befehlszeilentool, der API oder den Clientbibliotheken erstellen. Wurde beim Erstellen des Modells kein Ablaufdatum festgelegt, können Sie die Ablaufzeit des Modells aktualisieren.

Einschränkungen beim Löschen von Modellen

Das Löschen von Modellen unterliegt den folgenden Einschränkungen:

  • Sie können nicht mehrere Modelle gleichzeitig löschen. Sie müssen sie einzeln löschen.
  • Ein gelöschtes Modell kann nicht wiederhergestellt werden.

Erforderliche Berechtigungen

Zum Löschen von Modellen in einem Dataset muss Ihnen die Rolle WRITER für das Dataset oder eine IAM-Rolle auf Projektebene mit der Berechtigung bigquery.models.delete zugewiesen sein. Wenn Ihnen die Berechtigung bigquery.models.delete auf Projektebene erteilt wurde, können Sie Modelle in jedem Dataset innerhalb des Projekts löschen. Die folgenden IAM-Rollen auf Projektebene umfassen Berechtigungen des Typs bigquery.models.delete:

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

Weitere Informationen zu IAM-Rollen und Berechtigungen in BigQuery ML finden Sie unter Zugriffssteuerung. Weitere Informationen zu Rollen auf Dataset-Ebene finden Sie in der BigQuery-Dokumentation unter Einfache Rollen und Berechtigungen.

Löschen eines Modells

So löschen Sie ein Modell:

Console

Zum Löschen eines Modells in der Cloud Console können Sie die Option Modell löschen verwenden oder eine Abfrage mit einem DROP MODEL | DROP MODEL IF EXISTS ausführen. DDL-Anweisung

Option 1: Option Modell löschen verwenden

  1. Rufen Sie in der Cloud Console die Seite „BigQuery“ auf.

    Zur Seite "BigQuery"

  2. Maximieren Sie im Navigationsbereich im Abschnitt Ressourcen den Namen Ihres Projekts und des Datasets.

  3. Klicken Sie auf den Modellnamen. Modelle sind am Modellsymbol Modellsymbol zu erkennen.

  4. Klicken Sie auf der rechten Seite des Fensters auf Modell löschen.

  5. Geben Sie im Dialogfeld Modell löschen den Namen des Modells ein und klicken Sie dann auf Löschen.

Option 2: DDL-Anweisung verwenden

  1. Rufen Sie in der Cloud Console die Seite „BigQuery“ auf.

    Zur Seite "BigQuery"

  2. Klicken Sie auf Neue Abfrage erstellen.

  3. Geben Sie die DDL-Anweisung in den Textbereich des Abfrageeditors ein.

     DROP MODEL mydataset.mymodel

  4. Klicken Sie auf Ausführen. Wenn die Abfrage abgeschlossen ist, wird das Modell aus dem Navigationsbereich entfernt.

bq

Zum Löschen eines Modells mit dem bq-Befehlszeilentool haben Sie folgende Eingabeoptionen:

  • Befehl bq rm mit dem Flag --model oder -m
  • Befehl bq query mit der DDL-Anweisung als Abfrageparameter

Wenn Sie ein Modell in einem anderen Projekt als Ihrem Standardprojekt löschen, fügen Sie dem Dataset die Projekt-ID im folgenden Format hinzu: [PROJECT_ID]:[DATASET].[MODEL].

Option 1: Befehl bq rm eingeben

Wenn Sie den Befehl bq rm zum Entfernen eines Modells verwenden, müssen Sie die Aktion bestätigen. Sie können die Bestätigung mit dem Kürzel --force flag (oder -f) überspringen.

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

Dabei gilt:

  • [PROJECT_ID] ist die Projekt-ID.
  • [DATASET] ist der Name des Datasets.
  • [MODEL] ist der Name des zu löschenden Modells.

Der Befehl rm erzeugt keine Ausgabe.

Beispiele:

Geben Sie den folgenden Befehl ein, um mymodel aus mydataset zu löschen. mydataset befindet sich in Ihrem Standardprojekt.

bq rm --model mydataset.mymodel

Geben Sie den folgenden Befehl ein, um mymodel aus mydataset zu löschen. mydataset befindet sich nicht in Ihrem Standardprojekt, sondern in myotherproject.

bq rm --model myotherproject:mydataset.mymodel

Geben Sie den folgenden Befehl ein, um mymodel aus mydataset zu löschen. mydataset befindet sich in Ihrem Standardprojekt. Durch das Kürzel -f in diesem Befehl wird die Bestätigung übersprungen.

bq rm -f --model mydataset.mymodel

Mit dem Befehl bq ls können Sie bestätigen, dass das Modell gelöscht wurde. Weitere Informationen finden Sie unter Modelle auflisten.

Option 2: Befehl bq query eingeben

Zum Löschen eines Modells mit dem Befehl bq query, geben Sie die Anweisung DROP MODEL im Abfrageparameter an und fügen das Flag --use_legacy_sql=false hinzu, um die Standard-SQL-Abfragesyntax anzugeben.

Beispiele:

Geben Sie den folgenden Befehl ein, um mymodel aus mydataset zu löschen. mydataset befindet sich in Ihrem Standardprojekt.

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

Geben Sie den folgenden Befehl ein, um mymodel aus mydataset zu löschen. mydataset befindet sich nicht in Ihrem Standardprojekt, sondern in myotherproject.

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

API

Option 1: Methode models.delete aufrufen

Rufen Sie zum Löschen eines Modells die Methode models.delete auf und geben Sie projectId, datasetId und modelId an.

Option 2: Methode jobs.query aufrufen

Rufen Sie zum Löschen eines Modells die Methode jobs.query auf und geben Sie die DDL-Anweisung DROP MODEL im Attribut query des Anfragetextes an.

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

Gelöschtes Modell wiederherstellen

Ein gelöschtes Modell kann derzeit nicht wiederhergestellt werden.

Nächste Schritte