Menghapus model

Halaman ini menunjukkan cara menghapus model BigQuery ML. Anda dapat menghapus model dengan:

  • Menggunakan Konsol Google Cloud
  • Menggunakan perintah bq rm atau perintah bq query alat command line bq
  • Memanggil metode API models.delete atau memanggil metode jobs.query
  • Menggunakan library klien

Saat ini, Anda hanya dapat menghapus model satu per satu. Saat menghapus sebuah model, semua data dalam model tersebut juga akan dihapus.

Untuk menghapus model secara otomatis setelah jangka waktu tertentu, tetapkan waktu habis masa berlaku model saat Anda membuatnya menggunakan alat command line bq, API, atau library klien. Jika tidak menetapkan tanggal habis masa berlaku saat model dibuat, Anda dapat memperbarui waktu habis masa berlaku model.

Batasan penghapusan model

Menghapus model tunduk pada batasan berikut:

  • Anda tidak dapat menghapus beberapa model sekaligus. Anda harus menghapusnya satu per satu.
  • Anda tidak dapat memulihkan model yang dihapus.

Izin yang diperlukan

Untuk menghapus model dalam set data, Anda harus diberi peran WRITER pada set data, atau Anda harus diberi Identity and Access Management (IAM) level project peran yang mencakup izin bigquery.models.delete. Jika diberi izin bigquery.models.delete di level project, Anda dapat menghapus model di set data mana pun dalam project. Peran IAM level project berikut mencakup izin bigquery.models.delete:

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

Untuk mengetahui informasi lebih lanjut tentang peran dan izin IAM di BigQuery ML, lihat Kontrol akses.

Menghapus model

Untuk menghapus model, lakukan langkah-langkah berikut:

Konsol

Anda dapat menghapus model di konsol Google Cloud dengan menggunakan Hapus Model atau dengan menjalankan kueri yang berisi pernyataan DDL DROP MODEL | DROP MODEL IF EXISTS.

Opsi satu: Gunakan opsi Delete Model.

  1. Di konsol Google Cloud, buka halaman BigQuery.

    Buka halaman BigQuery

  2. Di panel navigasi, di bagian Resource, luaskan nama project dan nama set data Anda.

  3. Klik nama model Anda. Model ditunjukkan dengan ikon model: ikon model.

  4. Di sisi kanan jendela, klik Delete Model.

  5. Pada dialog Delete model, ketik nama model, lalu klik Delete.

Opsi dua: Gunakan pernyataan DDL.

  1. Di konsol Google Cloud, buka halaman BigQuery.

    Buka halaman BigQuery

  2. Klik Compose New Query.

  3. Ketik pernyataan DDL Anda di area teks Query editor.

     DROP MODEL mydataset.mymodel

  4. Klik Run. Setelah kueri selesai, model akan dihapus dari panel navigasi.

bq

Anda dapat menghapus model menggunakan alat command line bq dengan memasukkan:

  • Perintah bq rm dengan flag --model atau -m
  • Perintah bq query dengan pernyataan DDL sebagai parameter kueri

Jika Anda menghapus model dalam project selain project default, tambahkan project ID ke set data dalam format berikut: [PROJECT_ID]:[DATASET].[MODEL].

Opsi satu: Masukkan perintah bq rm

Saat menggunakan perintah bq rm untuk menghapus model, Anda harus mengonfirmasi tindakan tersebut. Anda dapat menggunakan --force flag (atau pintasan -f) untuk melewati konfirmasi.

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

Dengan keterangan:

  • [PROJECT_ID] adalah project ID Anda.
  • [DATASET] adalah nama set data.
  • [MODEL] adalah nama model yang akan Anda hapus.

Perintah rm tidak menghasilkan output.

Contoh:

Masukkan perintah berikut untuk menghapus mymodel dari mydataset. mydataset berada dalam project default Anda.

bq rm --model mydataset.mymodel

Masukkan perintah berikut untuk menghapus mymodel dari mydataset. mydataset berada di myotherproject, bukan di project default Anda.

bq rm --model myotherproject:mydataset.mymodel

Masukkan perintah berikut untuk menghapus mymodel dari mydataset. mydataset berada dalam project default Anda. Perintah tersebut menggunakan pintasan -f untuk mengabaikan konfirmasi.

bq rm -f --model mydataset.mymodel

Anda dapat mengonfirmasi bahwa model telah dihapus dengan mengeluarkan perintah bq ls. Untuk mengetahui informasi selengkapnya, lihat Model daftar.

Opsi dua: Masukkan perintah bq query

Untuk menghapus model menggunakan perintah bq query, berikan pernyataan DROP MODEL dalam parameter kueri dan berikan flag --use_legacy_sql=false untuk menentukan sintaksis kueri GoogleSQL.

Contoh:

Masukkan perintah berikut untuk menghapus mymodel dari mydataset. mydataset berada dalam project default Anda.

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

Masukkan perintah berikut untuk menghapus mymodel dari mydataset. mydataset berada di myotherproject, bukan di project default Anda.

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

API

Opsi satu: Memanggil metode models.delete

Untuk menghapus model, panggil metode models.delete dan sediakan projectId, datasetId, dan modelId.

Opsi dua: Panggil metode jobs.query

Untuk menghapus model, panggil metode jobs.query dan berikan pernyataan DDL DROP MODEL dalam properti kueri isi permintaan.

Go

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Go API.

Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.

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

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Java API.

Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.

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

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Node.js API.

Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.

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

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Python API.

Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.


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

Memulihkan model yang dihapus

Saat ini, Anda tidak dapat memulihkan model yang dihapus.

Langkah selanjutnya