Mengelola model

Halaman ini menunjukkan cara mengelola model ML BigQuery, termasuk menyalin model dan mengganti nama model.

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk membaca dan membuat model BigQuery, minta administrator untuk memberi Anda peran IAM BigQuery Data Editor (roles/bigquery.dataEditor) pada project. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran bawaan ini berisi izin yang diperlukan untuk membaca dan membuat model BigQuery. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk membaca dan membuat model BigQuery:

  • Untuk membaca informasi dari model: bigquery.models.getData
  • Untuk membuat model: bigquery.models.create

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Mengganti nama model

Anda tidak dapat mengubah nama model yang ada. Jika Anda perlu mengubah nama model, ikuti langkah-langkah untuk menyalin model. Saat Anda menentukan tujuan dalam operasi penyalinan, gunakan nama model baru.

Salin model

Anda dapat menyalin satu atau beberapa model dari set data sumber ke set data tujuan dengan:

  • Menggunakan konsol Google Cloud.
  • Menggunakan perintah bq cp alat command line bq.
  • Memanggil metode API jobs.insert secara langsung dan mengonfigurasi tugas penyalinan atau dengan menggunakan library klien.

Batasan dalam menyalin model

Tugas penyalinan model tunduk pada batasan berikut:

  • Saat Anda menyalin model, nama model tujuan harus mematuhi konvensi penamaan yang sama dengan saat Anda membuat model.
  • Salinan model tunduk pada batas BigQuery pada tugas penyalinan.
  • Menyalin model tidak didukung oleh konsol Google Cloud.
  • Menyalin beberapa model sumber dalam satu perintah tidak didukung.
  • Saat Anda menyalin model menggunakan CLI, flag --destination_kms_key tidak didukung.

Menyalin model

Anda dapat menyalin model dengan:

  • Menggunakan perintah bq cp alat command line
  • Memanggil metode API jobs.insert dan mengonfigurasi tugas penyalinan atau dengan menggunakan library klien

Untuk menyalin model:

Konsol

Konsol Google Cloud tidak mendukung penyalinan model.

bq

Berikan perintah bq cp. Flag opsional:

  • -f atau --force menimpa model yang ada di set data tujuan dan tidak meminta konfirmasi Anda.
  • -n atau --no_clobber menampilkan pesan error berikut jika model ada dalam set data tujuan: '[PROJECT_ID]:[DATASET].[MODEL]' already exists, skipping.

    Jika -n tidak ditentukan, perilaku default-nya adalah meminta Anda untuk memilih apakah akan mengganti model tujuan.

Jika set data sumber atau tujuan berada di project selain project default Anda, tambahkan project ID ke nama set data dalam format berikut: PROJECT_ID:DATASET.

Berikan flag --location dan tetapkan nilai ke lokasi Anda.

bq --location=LOCATION cp -f -n PROJECT_ID:DATASET.SOURCE_MODEL PROJECT_ID:DATASET.DESTINATION_MODEL

Ganti kode berikut:

  • LOCATION: nama lokasi Anda. Flag --location bersifat opsional. Misalnya, jika menggunakan BigQuery di region Tokyo, Anda dapat menetapkan nilai flag ke asia-northeast1. Anda dapat menetapkan nilai default untuk lokasi menggunakan file.bigqueryrc. Untuk mengetahui daftar lengkap lokasi, lihat artikel Lokasi BigQuery.
  • PROJECT_ID: project ID Anda.
  • DATASET: nama set data sumber atau tujuan.
  • SOURCE_MODEL: model yang Anda salin.
  • DESTINATION_MODEL: nama model dalam set data tujuan.

Contoh:

Masukkan perintah berikut untuk menyalin mydataset.mymodel ke mydataset2. Kedua set data berada dalam project default Anda dan dibuat di lokasi multi-region US.

bq --location=US cp mydataset.mymodel mydataset2.mymodel

Masukkan perintah berikut untuk menyalin mydataset.mymodel dan untuk menimpa model tujuan dengan nama yang sama. Set data sumber ada di project default Anda. Set data tujuan ada di myotherproject. Pintasan -f digunakan untuk menimpa model tujuan tanpa perintah. mydataset dan myotherdataset dibuat di lokasi multi-region US.

bq --location=US cp -f mydataset.mymodel myotherproject:myotherdataset.mymodel

Masukkan perintah berikut untuk menyalin mydataset.mymodel dan menampilkan error jika set data tujuan berisi model dengan nama yang sama. Set data sumber berada di project default Anda. Set data tujuan ada di myotherproject. Pintasan -n digunakan untuk mencegah menimpa model dengan nama yang sama. Kedua set data dibuat di lokasi multi-region US.

bq --location=US cp -n mydataset.mymodel myotherproject:myotherdataset.mymodel

Masukkan perintah berikut untuk menyalin mydataset.mymodel menjadi mydataset2 dan mengganti nama model mymodel2. Kedua set data ada dalam project default Anda. Kedua set data dibuat di region asia-northeast1.

bq --location=asia-northeast1 cp mydataset.mymodel mydataset2.mymodel2

API

Untuk menyalin model menggunakan API, panggil metode bigquery.jobs.insert dan konfigurasikan tugas copy. Tentukan lokasi Anda di properti location di bagian jobReference di resource lowongan.

Anda harus menentukan nilai berikut dalam konfigurasi tugas:

"copy": {
      "sourceTable": {       // Required
        "projectId": string, // Required
        "datasetId": string, // Required
        "tableId": string    // Required
      },
      "destinationTable": {  // Required
        "projectId": string, // Required
        "datasetId": string, // Required
        "tableId": string    // Required
      },
      "createDisposition": string,  // Optional
      "writeDisposition": string,   // Optional
    },

Dengan keterangan:

  • sourceTable: memberikan informasi tentang model yang akan disalin.
  • destinationTable: memberikan informasi tentang model baru.
  • createDisposition: menentukan apakah akan membuat model jika tidak ada.
  • writeDisposition: menentukan apakah model yang sudah ada akan ditimpa.

Mengenkripsi model

Untuk mengetahui informasi lebih lanjut tentang cara menggunakan kunci enkripsi yang dikelola pelanggan (CMEK) untuk mengenkripsi model, lihat Menggunakan CMEK untuk melindungi model ML BigQuery.

Langkah berikutnya