Menggunakan pemesanan slot
BigQuery Reservation API memungkinkan Anda membeli slot khusus (disebut komitmen), membuat kumpulan slot (disebut reservasi), dan menetapkan project, folder, dan organisasi ke pemesanan tersebut.
Dengan pemesanan, Anda dapat menetapkan jumlah slot khusus
untuk workload. Misalnya, Anda mungkin tidak ingin workload produksi bersaing dengan workload pengujian untuk slot. Anda dapat
membuat pemesanan bernama prod
dan menetapkan workload produksi ke
pemesanan ini. Untuk mengetahui informasi lebih lanjut, lihat Pemesanan.
Membuat pemesanan
Izin yang diperlukan
Untuk membuat pemesanan, Anda memerlukan izin Identity and Access Management (IAM) berikut:
bigquery.reservations.create
pada project administrasi yang mengelola kepemilikan komitmen.
Setiap peran IAM berikut yang telah ditentukan sebelumnya menyertakan izin ini:
BigQuery Resource Editor
BigQuery Resource Admin
Untuk mengetahui informasi selengkapnya tentang peran IAM di BigQuery, lihat Peran dan izin yang telah ditentukan sebelumnya.
Membuat pemesanan dengan slot khusus
Pilih salah satu opsi berikut:
Konsol
Di konsol Google Cloud, buka halaman BigQuery.
Di panel navigasi, buka bagian Capacity management, lalu klik Create reservation.
Di kolom Nama pemesanan, masukkan nama untuk pemesanan.
Di menu drop-down Lokasi, pilih lokasi. Jika Anda memilih lokasi BigQuery Omni, opsi edisi Anda akan terbatas untuk edisi Enterprise.
Dalam daftar Edisi, pilih edisi. Fitur edisi BigQuery seperti penskalaan otomatis hanya tersedia dalam edisi. Untuk informasi selengkapnya, lihat Pengantar edisi BigQuery.
Pada daftar Pemilih ukuran pemesanan maksimum, pilih ukuran pemesanan maksimum.
Opsional: Di kolom Slot dasar pengukuran, masukkan jumlah slot dasar pengukuran untuk pemesanan.
Jumlah slot penskalaan otomatis yang tersedia ditentukan dengan mengurangi nilai Slot dasar pengukuran dari Ukuran pemesanan maksimum. Misalnya, jika Anda membuat pemesanan dengan 100 slot dasar pengukuran dan ukuran pemesanan maksimum 400, pemesanan Anda memiliki 300 slot penskalaan otomatis. Untuk mengetahui informasi selengkapnya tentang slot dasar pengukuran, lihat Menggunakan pemesanan dengan slot dasar pengukuran dan penskalaan otomatis.
Untuk menonaktifkan berbagi slot tidak ada aktivitas dan hanya menggunakan kapasitas slot yang ditentukan, klik tombol Abaikan slot tidak ada aktivitas.
Untuk meluaskan bagian Advanced settings, klik panah peluas
.Opsional: Untuk menetapkan konkurensi tugas target, klik tombol Ganti konkurensi tugas target otomatis ke aktif dan masukkan Konkurensi Tugas Target.
Perincian slot ditampilkan di tabel Estimasi biaya. Ringkasan pemesanan ditampilkan di tabel Ringkasan kapasitas.
Klik Simpan.
Pemesanan baru dapat dilihat di tab Pemesanan slot.
SQL
Untuk membuat pemesanan, gunakan
pernyataan DDL CREATE RESERVATION
.
Di Konsol Google Cloud, buka halaman BigQuery.
Di editor kueri, masukkan pernyataan berikut:
CREATE RESERVATION `ADMIN_PROJECT_ID.region-LOCATION.RESERVATION_NAME` OPTIONS ( slot_capacity = NUMBER_OF_BASELINE_SLOTS, edition = EDITION, autoscale_max_slots = NUMBER_OF_AUTOSCALING_SLOTS);
Ganti kode berikut:
ADMIN_PROJECT_ID
: project ID dari project administrasi yang memiliki resource pemesananLOCATION
: lokasi pemesanan. Jika Anda memilih lokasi BigQuery Omni, opsi edisi Anda akan terbatas untuk edisi Enterprise.RESERVATION_NAME
: nama pemesananNama harus diawali dan diakhiri dengan huruf kecil atau angka, serta hanya berisi huruf kecil, angka, dan tanda hubung.
NUMBER_OF_BASELINE_SLOTS
: dasar pengukuran jumlah slot yang akan dialokasikan ke reservasi. Anda tidak dapat menetapkan opsislot_capacity
dan opsiedition
dalam pemesanan yang sama.EDITION
: edisi pemesanan. Penetapan pemesanan ke edisi disertai perubahan fitur dan harga. Untuk informasi selengkapnya, lihat Pengantar edisi BigQuery.NUMBER_OF_AUTOSCALING_SLOTS
: jumlah slot penskalaan otomatis yang ditetapkan untuk pemesanan. Nilai ini sama dengan nilai ukuran reservasi maksimum dikurangi jumlah slot dasar pengukuran.
Klik
Run.
Untuk informasi selengkapnya tentang cara menjalankan kueri, lihat Menjalankan kueri interaktif.
bq
Untuk membuat pemesanan, gunakan perintah bq mk
dengan flag --reservation
:
bq mk \ --project_id=ADMIN_PROJECT_ID \ --location=LOCATION \ --reservation \ --slots=NUMBER_OF_BASELINE_SLOTS \ --ignore_idle_slots=false \ --edition=EDITION \ --autoscale_max_slots=NUMBER_OF_AUTOSCALING_SLOTS \ RESERVATION_NAME
Ganti kode berikut:
ADMIN_PROJECT_ID
: project IDLOCATION
: lokasi pemesanan. Jika Anda memilih lokasi BigQuery Omni, opsi edisi Anda akan terbatas untuk edisi Enterprise.NUMBER_OF_BASELINE_SLOTS
: jumlah slot dasar pengukuran yang akan dialokasikan ke reservasiRESERVATION_NAME
: nama pemesananEDITION
: edisi pemesanan. Penetapan pemesanan ke edisi disertai perubahan fitur dan harga. Untuk informasi selengkapnya, lihat Pengantar edisi BigQuery.NUMBER_OF_AUTOSCALING_SLOTS
: jumlah slot penskalaan otomatis yang ditetapkan untuk pemesanan. Nilai ini sama dengan nilai ukuran reservasi maksimum dikurangi jumlah slot dasar pengukuran.
Untuk mengetahui informasi tentang flag --ignore_idle_slots
, lihat
Slot tidak ada aktivitas. Nilai defaultnya adalah false
.
Terraform
Gunakan resource google_bigquery_reservation
.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Contoh berikut membuat reservasi bernama my-reservation
:
Untuk menerapkan konfigurasi Terraform di project Google Cloud, selesaikan langkah-langkah di bagian berikut.
Menyiapkan Cloud Shell
- Luncurkan Cloud Shell.
-
Tetapkan project Google Cloud default tempat Anda ingin menerapkan konfigurasi Terraform.
Anda hanya perlu menjalankan perintah ini sekali per project, dan dapat dijalankan di direktori mana pun.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Variabel lingkungan akan diganti jika Anda menetapkan nilai eksplisit dalam file konfigurasi Terraform.
Menyiapkan direktori
Setiap file konfigurasi Terraform harus memiliki direktorinya sendiri (juga disebut modul root).
-
Di Cloud Shell, buat direktori dan file baru di dalam direktori tersebut. Nama file harus memiliki
ekstensi
.tf
—misalnyamain.tf
. Dalam tutorial ini, file ini disebut sebagaimain.tf
.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
Jika mengikuti tutorial, Anda dapat menyalin kode contoh di setiap bagian atau langkah.
Salin kode contoh ke dalam
main.tf
yang baru dibuat.Atau, salin kode dari GitHub. Tindakan ini direkomendasikan jika cuplikan Terraform adalah bagian dari solusi menyeluruh.
- Tinjau dan ubah contoh parameter untuk diterapkan pada lingkungan Anda.
- Simpan perubahan Anda.
-
Lakukan inisialisasi Terraform. Anda hanya perlu melakukan ini sekali per direktori.
terraform init
Secara opsional, untuk menggunakan versi penyedia Google terbaru, sertakan opsi
-upgrade
:terraform init -upgrade
Menerapkan perubahan
-
Tinjau konfigurasi dan pastikan resource yang akan dibuat atau
diupdate oleh Terraform sesuai yang Anda inginkan:
terraform plan
Koreksi konfigurasi jika diperlukan.
-
Terapkan konfigurasi Terraform dengan menjalankan perintah berikut dan memasukkan
yes
pada prompt:terraform apply
Tunggu hingga Terraform menampilkan pesan "Apply complete!".
- Buka project Google Cloud Anda untuk melihat hasilnya. Di Konsol Google Cloud, buka resource Anda di UI untuk memastikan bahwa Terraform telah membuat atau mengupdatenya.
Python
Memperbarui pemesanan
Anda dapat melakukan perubahan berikut pada pemesanan:
- Mengubah ukuran pemesanan dengan menambahkan atau menghapus slot.
- Mengonfigurasi apakah kueri dalam pemesanan ini menggunakan slot tidak ada aktivitas.
- Mengubah jumlah slot dasar pengukuran atau penskalaan otomatis yang dialokasikan untuk pemesanan.
- Menetapkan konkurensi tugas target.
Untuk mengubah edisi pemesanan, hapus pemesanan terlebih dahulu, lalu buat pemesanan dengan edisi yang diperbarui.
Izin yang diperlukan
Untuk memperbarui pemesanan, Anda memerlukan izin Identity and Access Management (IAM) berikut:
bigquery.reservations.update
pada project administrasi yang mengelola kepemilikan komitmen.
Setiap peran IAM berikut yang telah ditentukan sebelumnya menyertakan izin ini:
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.
Mengubah ukuran pemesanan
Anda dapat menambahkan atau menghapus slot dari pemesanan yang ada.
Konsol
Di konsol Google Cloud, buka halaman BigQuery.
Di panel navigasi, buka bagian Pengelolaan kapasitas.
Klik tab Pemesanan slot.
Cari pemesanan yang ingin diperbarui.
Perluas opsi
Actions.Klik Edit.
Pada dialog Pemilih ukuran pemesanan maksimum, masukkan ukuran pemesanan maksimum.
Di kolom Slot dasar pengukuran, masukkan jumlah slot dasar pengukuran.
Untuk meluaskan bagian Setelan lanjutan, klik panah perluas
.Opsional: Untuk menetapkan konkurensi tugas target, klik tombol Ganti konkurensi tugas target otomatis ke aktif dan masukkan Konkurensi Tugas Target.
Klik Simpan.
SQL
Untuk mengubah ukuran pemesanan, gunakan pernyataan bahasa definisi data (DDL) ALTER RESERVATION SET OPTIONS
.
Di Konsol Google Cloud, buka halaman BigQuery.
Di editor kueri, masukkan pernyataan berikut:
ALTER RESERVATION `ADMIN_PROJECT_ID.region-LOCATION.RESERVATION_NAME` SET OPTIONS ( slot_capacity = NUMBER_OF_BASELINE_SLOTS, autoscale_max_slots = NUMBER_OF_AUTOSCALING_SLOTS);
Ganti kode berikut:
ADMIN_PROJECT_ID
: project ID dari project administrasi yang memiliki resource pemesananLOCATION
: lokasi pemesanan, misalnyaeurope-west9
.RESERVATION_NAME
: nama pemesanan. Nama harus diawali dan diakhiri dengan huruf kecil atau angka, serta hanya berisi huruf kecil, angka, dan tanda hubung.NUMBER_OF_BASELINE_SLOTS
: jumlah slot dasar pengukuran yang akan dialokasikan ke pemesanan.NUMBER_OF_AUTOSCALING_SLOTS
: jumlah slot penskalaan otomatis yang ditetapkan untuk pemesanan. Nilai ini sama dengan nilai ukuran reservasi maksimum dikurangi jumlah slot dasar pengukuran.
Klik
Run.
Untuk informasi selengkapnya tentang cara menjalankan kueri, lihat Menjalankan kueri interaktif.
bq
Untuk memperbarui ukuran pemesanan, gunakan perintah bq update
dengan flag --reservation
:
bq update \ --project_id=ADMIN_PROJECT_ID \ --location=LOCATION \ --slots=NUMBER_OF_BASELINE_SLOTS \ --autoscale_max_slots=NUMBER_OF_AUTOSCALING_SLOTS \ --reservation RESERVATION_NAME
Ganti kode berikut:
ADMIN_PROJECT_ID
: project IDLOCATION
: lokasi pemesananNUMBER_OF_BASELINE_SLOTS
: jumlah slot dasar pengukuran yang akan dialokasikan ke reservasiRESERVATION_NAME
: nama pemesananNUMBER_OF_AUTOSCALING_SLOTS
: jumlah slot penskalaan otomatis yang ditetapkan untuk pemesanan. Nilai ini sama dengan nilai ukuran reservasi maksimum dikurangi jumlah slot dasar pengukuran.
Python
Mengonfigurasi kueri menggunakan atau tidak slot yang tidak ada aktivitas
Flag --ignore_idle_slots
mengontrol apakah kueri yang berjalan di pemesanan dapat menggunakan slot tidak ada aktivitas dari pemesanan lain. Untuk mengetahui informasi selengkapnya, lihat
Slot tidak ada aktivitas. Anda dapat memperbarui konfigurasi ini pada pemesanan yang ada.
Untuk memperbarui pemesanan, gunakan perintah bq update
dengan flag --reservation
. Contoh berikut menetapkan --ignore_idle_slots
ke true
, yang berarti pemesanan hanya akan menggunakan slot yang dialokasikan untuk pemesanan.
bq update \ --project_id=ADMIN_PROJECT_ID \ --location=LOCATION \ --ignore_idle_slots=true \ --reservation RESERVATION_NAME
Ganti kode berikut:
ADMIN_PROJECT_ID
: project IDLOCATION
: lokasi pemesananRESERVATION_NAME
: nama pemesanan
Mencantumkan konfigurasi slot yang tidak ada aktivitas
Untuk mencantumkan setelan slot tidak ada aktivitas untuk pemesanan, lakukan langkah berikut:
SQL
Buat kueri kolom ignore_idle_slots
dari
tampilan INFORMATION_SCHEMA.RESERVATIONS_BY_PROJECT
.
Di Konsol Google Cloud, buka halaman BigQuery.
Di editor kueri, masukkan pernyataan berikut:
SELECT reservation_name, ignore_idle_slots FROM `ADMIN_PROJECT_ID.region-LOCATION`.INFORMATION_SCHEMA.RESERVATIONS_BY_PROJECT;
Ganti kode berikut:
ADMIN_PROJECT_ID
: project ID dari project administrasi yang memiliki resource pemesananLOCATION
: lokasi pemesanan
Klik
Run.
Untuk informasi selengkapnya tentang cara menjalankan kueri, lihat Menjalankan kueri interaktif.
bq
Gunakan perintah bq ls
dengan flag --reservation
:
bq ls --reservation \ --project_id=ADMIN_PROJECT_ID \ --location=LOCATION
Ganti kode berikut:
ADMIN_PROJECT_ID
: project ID dari project administrasi yang memiliki resource pemesananLOCATION
: lokasi pemesanan
Kolom ignoreIdleSlots
berisi setelan konfigurasi.
Menghapus beberapa pemesanan
Saat Anda menghapus pemesanan, tugas apa pun yang saat ini dijalankan dengan slot dari pemesanan tersebut akan gagal. Untuk mencegah error, izinkan tugas yang sedang berjalan selesai sebelum menghapus pemesanan.
Izin yang diperlukan
Untuk menghapus pemesanan, Anda memerlukan izin Identity and Access Management (IAM) berikut:
bigquery.reservations.delete
pada project administrasi yang mengelola kepemilikan komitmen.
Setiap peran IAM berikut yang telah ditentukan sebelumnya menyertakan izin ini:
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.
Menghapus pemesanan
Konsol
Di konsol Google Cloud, buka halaman BigQuery.
Di panel navigasi, buka bagian Pengelolaan Kapasitas.
Klik tab Reservations.
Temukan pemesanan yang ingin Anda hapus.
Perluas opsi
Actions.Klik Delete.
Pada dialog Hapus pemesanan, klik Hapus.
SQL
Untuk menghapus pemesanan, gunakan pernyataan DDL DROP RESERVATION
.
Di Konsol Google Cloud, buka halaman BigQuery.
Di editor kueri, masukkan pernyataan berikut:
DROP RESERVATION `ADMIN_PROJECT_ID.region-LOCATION.RESERVATION_NAME`;
Ganti kode berikut:
ADMIN_PROJECT_ID
: project ID dari project administrasi yang memiliki resource pemesananLOCATION
: lokasi pemesananRESERVATION_NAME
: ID pemesanan
Klik
Run.
Untuk informasi selengkapnya tentang cara menjalankan kueri, lihat Menjalankan kueri interaktif.
bq
Untuk menghapus pemesanan, gunakan perintah bq rm
dengan flag --reservation
:
bq rm \ --project_id=ADMIN_PROJECT_ID \ --location=LOCATION \ --reservation RESERVATION_NAME
Ganti kode berikut:
ADMIN_PROJECT_ID
: project ID dari project administrasi yang memiliki resource pemesananLOCATION
: lokasi pemesananRESERVATION_NAME
: nama pemesanan
Python