Menggunakan penetapan pemesanan
BigQuery Reservasi API memungkinkan Anda membeli slot khusus (disebut komitmen), membuat kumpulan slot (disebut reservasi), dan menetapkan project, folder, dan organisasi ke reservasi tersebut.
Membuat penetapan pemesanan
Untuk menggunakan slot yang dibeli, Anda perlu membuat penetapan yang menetapkan project, folder, atau organisasi ke pemesanan slot.
Project menggunakan satu pemesanan paling spesifik dalam hierarki resource yang ditetapkan. Penetapan folder menggantikan penetapan organisasi, dan penetapan project menggantikan penetapan folder. Penetapan folder dan organisasi tidak tersedia untuk reservasi edisi standar.
Untuk membuat penetapan pada reservasi, reservasi harus memenuhi setidaknya salah satu kriteria berikut:
Konfigurasi slot ini dikonfigurasi dengan jumlah slot dasar yang ditetapkan, bukan nol.
Kolom ini dikonfigurasi dengan jumlah slot penskalaan otomatis selain nol.
Konfigurasi ini dikonfigurasi untuk menggunakan slot yang tidak ada aktivitas, dan terdapat slot yang tidak ada aktivitas dalam project tersebut.
Jika Anda mencoba menetapkan resource ke reservasi yang tidak memenuhi setidaknya
salah satu kriteria ini, Anda akan menerima pesan
berikut: Assignment is pending, your project will be executed as on-demand.
Izin yang diperlukan
Untuk membuat penetapan pemesanan, Anda memerlukan izin Identity and Access Management (IAM) berikut:
bigquery.reservationAssignments.create
pada project administrasi dan penerima tugas.
Setiap peran IAM yang telah ditetapkan berikut mencakup izin ini:
BigQuery Admin
BigQuery Resource Admin
BigQuery Resource Editor
Untuk mengetahui informasi lebih lanjut tentang peran IAM di BigQuery, lihat Peran dan izin yang telah ditetapkan.
Menetapkan organisasi ke pemesanan
Konsol
Di konsol Google Cloud, buka halaman BigQuery.
Di panel navigasi, buka bagian Pengelolaan Kapasitas.
Klik tab Reservations.
Temukan pemesanan di tabel pemesanan
Perluas opsi
Actions.Klik Create assignment.
Di bagian Create an assignment, klik Browse.
Jelajahi atau telusuri organisasi, lalu pilih organisasi tersebut.
Di bagian Job Type, pilih jenis tugas yang akan ditetapkan untuk pemesanan ini. Opsinya meliputi:
QUERY
PIPELINE
BACKGROUND
ML_EXTERNAL
Untuk informasi selengkapnya tentang jenis tugas, lihat penetapan pemesanan. Nilai default ini adalah
QUERY
.Klik Create.
SQL
Untuk menetapkan organisasi ke pemesanan, gunakan pernyataan DDL CREATE ASSIGNMENT
.
Di Konsol Google Cloud, buka halaman BigQuery.
Di editor kueri, masukkan pernyataan berikut:
CREATE ASSIGNMENT `ADMIN_PROJECT_ID.region-LOCATION.RESERVATION_NAME.ASSIGNMENT_ID` OPTIONS ( assignee = 'organizations/ORGANIZATION_ID', job_type = 'JOB_TYPE');
Ganti kode berikut:
ADMIN_PROJECT_ID
: project ID dari project administrasi yang memiliki resource pemesananLOCATION
: lokasi pemesananRESERVATION_NAME
: nama pemesananASSIGNMENT_ID
: ID tugasID harus unik untuk project dan lokasi, diawali dan diakhiri dengan huruf kecil atau angka, serta hanya berisi huruf kecil, angka, dan tanda hubung.
ORGANIZATION_ID
: ID organisasiJOB_TYPE
: jenis tugas yang akan ditetapkan ke pemesanan ini, sepertiQUERY
,PIPELINE
,BACKGROUND
, atauML_EXTERNAL
Klik
Run.
Untuk informasi selengkapnya tentang cara menjalankan kueri, lihat Menjalankan kueri interaktif.
bq
Untuk menetapkan tugas organisasi ke pemesanan, gunakan perintah bq mk
dengan flag --reservation_assignment
:
bq mk \ --project_id=ADMIN_PROJECT_ID \ --location=LOCATION \ --reservation_assignment \ --reservation_id=RESERVATION_NAME \ --assignee_id=ORGANIZATION_ID \ --job_type=JOB_TYPE \ --assignee_type=ORGANIZATION
Ganti kode berikut:
ADMIN_PROJECT_ID
: project ID dari project administrasi yang memiliki resource pemesananLOCATION
: lokasi pemesananRESERVATION_NAME
: nama pemesananORGANIZATION_ID
: ID organisasiJOB_TYPE
: jenis tugas yang akan ditetapkan ke pemesanan ini, sepertiQUERY
,PIPELINE
,BACKGROUND
, atauML_EXTERNAL
Saat membuat penetapan pemesanan, tunggu setidaknya 5 menit sebelum menjalankan kueri. Jika tidak, kueri mungkin akan ditagih menggunakan harga sesuai permintaan.
Menetapkan project atau folder ke pemesanan
Konsol
Di konsol Google Cloud, buka halaman BigQuery.
Di panel navigasi, buka bagian Pengelolaan Kapasitas.
Klik tab Reservations.
Temukan pemesanan di tabel pemesanan.
Perluas opsi
Actions.Klik Create assignment.
Di bagian Create an assignment, klik Browse.
Jelajahi atau telusuri project atau folder, lalu pilih project atau folder tersebut.
Di bagian Job Type, pilih jenis tugas yang akan ditetapkan untuk pemesanan ini. Opsinya meliputi:
QUERY
PIPELINE
BACKGROUND
ML_EXTERNAL
Untuk informasi selengkapnya tentang jenis tugas, lihat penetapan pemesanan. Nilai default ini adalah
QUERY
.Klik Create.
SQL
Untuk menetapkan project ke pemesanan, gunakan pernyataan DDL CREATE ASSIGNMENT
.
Di konsol Google Cloud, buka halaman BigQuery.
Di editor kueri, masukkan pernyataan berikut:
CREATE ASSIGNMENT `ADMIN_PROJECT_ID.region-LOCATION.RESERVATION_NAME.ASSIGNMENT_ID` OPTIONS( assignee="projects/PROJECT_ID", job_type="JOB_TYPE");
Ganti kode berikut:
ADMIN_PROJECT_ID
: project ID dari project administrasi yang memiliki resource pemesananLOCATION
: lokasi pemesananRESERVATION_NAME
: nama pemesananASSIGNMENT_ID
: ID tugasID harus unik untuk project dan lokasi, diawali dan diakhiri dengan huruf kecil atau angka, serta hanya berisi huruf kecil, angka, dan tanda hubung.
PROJECT_ID
: ID project yang akan ditetapkan ke pemesananJOB_TYPE
: jenis tugas yang akan ditetapkan ke pemesanan ini, sepertiQUERY
,PIPELINE
,BACKGROUND
, atauML_EXTERNAL
Klik
Run.
Untuk informasi selengkapnya tentang cara menjalankan kueri, lihat Menjalankan kueri interaktif.
bq
Untuk menetapkan tugas ke pemesanan, gunakan perintah bq mk
dengan flag --reservation_assignment
:
bq mk \ --project_id=ADMIN_PROJECT_ID \ --location=LOCATION \ --reservation_assignment \ --reservation_id=RESERVATION_NAME \ --assignee_id=PROJECT_ID \ --job_type=JOB_TYPE \ --assignee_type=PROJECT
Ganti kode berikut:
ADMIN_PROJECT_ID
: project ID dari project administrasi yang memiliki resource pemesananLOCATION
: lokasi pemesananRESERVATION_NAME
: nama pemesananPROJECT_ID
: ID project yang akan ditetapkan ke pemesanan iniJOB_TYPE
: jenis tugas yang akan ditetapkan ke pemesanan ini, sepertiQUERY
,PIPELINE
,BACKGROUND
, atauML_EXTERNAL
Saat membuat penetapan pemesanan, tunggu setidaknya 5 menit sebelum menjalankan kueri. Jika tidak, kueri mungkin akan ditagih menggunakan harga sesuai permintaan.
Untuk membuat project yang hanya menggunakan slot tidak ada aktivitas, buat reservasi dengan slot 0
yang ditetapkan ke project tersebut, lalu ikuti langkah-langkah sebelumnya untuk menetapkan project ke reservasi tersebut.
Menetapkan project ke none
Penetapan ke none
mewakili tidak adanya penetapan. Project yang ditetapkan ke none
menggunakan harga sesuai permintaan.
SQL
Untuk menetapkan project ke none
, gunakan
pernyataan DDL CREATE ASSIGNMENT
.
Di konsol Google Cloud, buka halaman BigQuery.
Di editor kueri, masukkan pernyataan berikut:
CREATE ASSIGNMENT `ADMIN_PROJECT_ID.region-LOCATION.none.ASSIGNMENT_ID` OPTIONS( assignee="projects/PROJECT_ID", job_type="JOB_TYPE");
Ganti kode berikut:
LOCATION
: lokasi tugas yang harus menggunakan harga sesuai permintaanASSIGNMENT_ID
: ID penetapanID harus unik untuk project dan lokasi, diawali dan diakhiri dengan huruf kecil atau angka, serta hanya berisi huruf kecil, angka, dan tanda hubung.
PROJECT_ID
: ID project yang akan ditetapkan ke pemesanan
Klik
Run.
Untuk informasi selengkapnya tentang cara menjalankan kueri, lihat Menjalankan kueri interaktif.
bq
Untuk menetapkan project ke none
, gunakan perintah bq mk
dengan flag --reservation_assignment
:
bq mk \ --location=LOCATION \ --reservation_assignment \ --reservation_id=none \ --job_type=QUERY \ --assignee_id=PROJECT_ID \ --assignee_type=PROJECT
Ganti kode berikut:
LOCATION
: lokasi tugas yang harus menggunakan harga sesuai permintaanPROJECT_ID
: ID project yang akan ditetapkan kenone
Menetapkan slot ke workload ML BigQuery
Jenis model ML BigQuery berikut menggunakan layanan eksternal:
- Autoencoder
- AutoML
- Hierarki yang ditingkatkan
- Deep Neural Network (DNN)
- Hutan acak
- Jaringan Wide-and-Deep
Anda dapat menetapkan slot yang dicadangkan ke kueri menggunakan layanan ini menggunakan jenis penetapan ML_EXTERNAL
. Jika jenis penetapan ML_EXTERNAL
tidak ditemukan, tugas kueri akan dijalankan sebagai on-demand.
Gunakan perintah bq mk
dengan flag --reservation_assignment
dan tetapkan
flag --job_type
ke ML_EXTERNAL
.
bq mk \ --project_id=ADMIN_PROJECT_ID \ --location=LOCATION \ --reservation_assignment \ --reservation_id=RESERVATION_NAME \ --job_type=ML_EXTERNAL\ --assignee_id=PROJECT_ID \ --assignee_type=PROJECT
Ganti kode berikut:
ADMIN_PROJECT_ID
: ID project yang memiliki resource pemesananLOCATION
: lokasi pemesananRESERVATION_NAME
: nama pemesananPROJECT_ID
: ID project yang akan ditetapkan ke pemesanan ini
Menemukan penetapan pemesanan
Izin yang diperlukan
Untuk menelusuri penetapan pemesanan untuk project, folder, atau organisasi tertentu, Anda memerlukan izin Identity and Access Management (IAM) berikut:
bigquery.reservationAssignments.list
di project administrasi.
Setiap peran IAM yang telah ditetapkan berikut mencakup izin ini:
BigQuery Admin
BigQuery Resource Admin
BigQuery Resource Editor
BigQuery Resource Viewer
BigQuery User
Untuk mengetahui informasi selengkapnya tentang peran IAM di BigQuery, lihat Peran dan izin yang telah ditentukan sebelumnya.
Menemukan penetapan pemesanan project
Anda dapat mengetahui apakah project, folder, atau organisasi Anda ditetapkan ke pemesanan dengan melakukan hal berikut:
Konsol
Di konsol Google Cloud, buka halaman BigQuery.
Di panel navigasi, buka bagian Pengelolaan Kapasitas.
Klik tab Reservations.
Dalam tabel pemesanan, luaskan pemesanan untuk melihat resource yang ditetapkan ke pemesanan tersebut, atau gunakan kolom Filter untuk memfilter menurut nama resource.
SQL
Untuk menemukan pemesanan tempat tugas kueri project Anda ditetapkan, buat kueri
tampilan INFORMATION_SCHEMA.ASSIGNMENTS_BY_PROJECT
.
Di konsol Google Cloud, buka halaman BigQuery.
Di editor kueri, masukkan pernyataan berikut:
SELECT assignment_id FROM `region-LOCATION`.INFORMATION_SCHEMA.ASSIGNMENTS_BY_PROJECT WHERE assignee_id = 'PROJECT_ID' AND job_type = 'JOB_TYPE';
Ganti kode berikut:
LOCATION
: lokasi pemesanan untuk dilihatADMIN_PROJECT_ID
: ID project dari project administrasi yang memiliki resource pemesananPROJECT_ID
: ID project yang akan ditetapkan ke pemesananJOB_TYPE
: jenis tugas yang akan ditetapkan ke pemesanan ini, sepertiQUERY
,PIPELINE
,BACKGROUND
, atauML_EXTERNAL
Klik
Run.
Untuk informasi selengkapnya tentang cara menjalankan kueri, lihat Menjalankan kueri interaktif.
bq
Untuk menemukan pemesanan tempat tugas kueri project Anda ditetapkan, gunakan
perintah bq show
dengan flag --reservation_assignment
:
bq show \ --project_id=ADMIN_PROJECT_ID \ --location=LOCATION \ --reservation_assignment \ --job_type=JOB_TYPE \ --assignee_id=PROJECT_ID \ --assignee_type=PROJECT
Ganti kode berikut:
ADMIN_PROJECT_ID
: ID project yang memiliki resource pemesananLOCATION
: lokasi pemesanan untuk dilihatJOB_TYPE
: jenis tugas yang akan ditetapkan ke pemesanan ini, sepertiQUERY
,PIPELINE
,BACKGROUND
, atauML_EXTERNAL
PROJECT_ID
: ID project
Memperbarui penetapan pemesanan
Memindahkan penetapan ke pemesanan lain
Anda dapat memindahkan penetapan dari satu pemesanan ke pemesanan lainnya.
Untuk memindahkan penetapan pemesanan, Anda memerlukan izin Identity and Access Management (IAM) berikut di project administrasi dan penerima tugas.
bigquery.reservationAssignments.create
bigquery.reservationAssignments.delete
Setiap peran IAM yang telah ditetapkan mencakup izin berikut:
BigQuery Admin
BigQuery Resource Admin
BigQuery Resource Editor
Untuk mengetahui informasi selengkapnya tentang peran IAM di BigQuery, lihat Peran dan izin yang telah ditentukan sebelumnya.
Untuk memindahkan penetapan, gunakan perintah bq update
:
bq update \ --project_id=ADMIN_PROJECT_ID \ --location=LOCATION \ --reservation_assignment \ --destination_reservation_id=DESTINATION_RESERVATION \ ADMIN_PROJECT_ID:LOCATION.RESERVATION_NAME.ASSIGNMENT_ID
Ganti kode berikut:
ADMIN_PROJECT_ID
: ID project yang memiliki resource pemesananLOCATION
: lokasi pemesanan baruRESERVATION_NAME
: reservasi untuk memindahkan penetapanDESTINATION_RESERVATION
: pemesanan untuk memindahkan penetapan keASSIGNMENT_ID
: ID penetapanUntuk mendapatkan ID penetapan, lihat Mencantumkan penetapan pemesanan project.
Menghapus penetapan pemesanan
Anda dapat menghapus project dari pemesanan dengan menghapus penetapan pemesanan. Jika tidak ditetapkan ke pemesanan apa pun, project akan mewarisi penetapan apa pun di folder atau organisasi induknya, atau menggunakan harga sesuai permintaan jika tidak ada penetapan induk.
Izin yang diperlukan
Untuk menghapus penetapan pemesanan, Anda memerlukan izin Identity and Access Management (IAM) berikut:
bigquery.reservationAssignments.delete
pada project administrasi dan penerima tugas.
Setiap peran IAM berikut yang telah ditentukan sebelumnya menyertakan izin ini:
BigQuery Admin
BigQuery Resource Admin
BigQuery Resource Editor
Menghapus project dari pemesanan
Untuk menghapus project dari pemesanan:
Konsol
Di konsol Google Cloud, buka halaman BigQuery.
Di panel navigasi, buka bagian Pengelolaan Kapasitas.
Klik tab Reservations.
Dalam tabel pemesanan, luaskan pemesanan untuk menemukan project.
Perluas opsi
Actions.Klik Delete.
SQL
Gunakan
pernyataan DDL DROP ASSIGNMENT
.
Di konsol Google Cloud, buka halaman BigQuery.
Di editor kueri, masukkan pernyataan berikut:
DROP ASSIGNMENT `ADMIN_PROJECT_ID.region-LOCATION.RESERVATION_NAME.ASSIGNMENT_ID`;
Ganti kode berikut:
ADMIN_PROJECT_ID
: project ID dari project administrasi yang memiliki resource pemesananLOCATION
: lokasi pemesananRESERVATION_NAME
: nama pemesananASSIGNMENT_ID
: ID penetapanUntuk menemukan ID penetapan, lihat Mencantumkan penetapan pemesanan project.
Klik
Run.
Untuk informasi selengkapnya tentang cara menjalankan kueri, lihat Menjalankan kueri interaktif.
bq
Untuk menghapus project dari pemesanan, gunakan perintah bq rm
dengan flag --reservation_assignment
:
bq rm \ --project_id=ADMIN_PROJECT_ID \ --location=LOCATION \ --reservation_assignment RESERVATION_NAME.ASSIGNMENT_ID
Ganti kode berikut:
ADMIN_PROJECT_ID
: ID project yang memiliki resource pemesananLOCATION
: lokasi pemesananRESERVATION_NAME
: nama pemesananASSIGNMENT_ID
: ID penetapanUntuk mendapatkan ID penetapan, lihat Menemukan penetapan pemesanan project.