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
) di 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 keasia-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
- Untuk ringkasan BigQuery ML, lihat Pengantar BigQuery ML.
- Untuk mulai menggunakan BigQuery ML, lihat Membuat model machine learning di BigQuery ML.
- Untuk mempelajari lebih lanjut tentang cara menggunakan model, lihat: