Modelle löschen

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

  • Google Cloud Console verwenden
  • Befehl 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 -bqBefehlszeilentool, 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 Identitäts- und Zugriffsverwaltungsrolle auf Projektebene (IAM) zugewiesen sein, die die Berechtigungen vom Typ bigquery.models.delete inkludiert. 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.

Modell löschen

So löschen Sie ein Modell:

Console

Zum Löschen eines Modells in der Google Cloud Console können Sie Folgendes verwenden: die Option Modell löschen oder durch Ausführen einer Abfrage, die einenDROP MODEL | DROP MODEL IF EXISTS DDL-Anweisung enthält.

Option 1: Option Modell löschen verwenden

  1. Rufen Sie in der Google 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 Google 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 können Sie Folgendes eingeben:

  • 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 Google-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.

Einfach loslegen (Go)

Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Go in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Go API.

Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.

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

Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Java in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Java API.

Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.

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

Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Node.js in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Node.js API.

Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.

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

Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Python in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Python API.

Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.


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