Tabel Virtual RESERVATIONS
Tabel virtual INFORMATION_SCHEMA.RESERVATIONS
berisi daftar semua reservasi saat ini dalam project administrasi. Setiap baris merepresentasikan satu reservasi saat ini. Reservasi saat ini adalah reservasi yang belum dihapus. Untuk mengetahui informasi selengkapnya tentang reservasi, lihat Pengantar reservasi.
Izin yang diperlukan
Untuk membuat kueri tabel virtual INFORMATION_SCHEMA.RESERVATIONS
, Anda memerlukan izin Identity and Access Management (IAM) bigquery.reservations.list
untuk project tersebut.
Setiap peran IAM yang telah ditetapkan berikut menyertakan izin yang diperlukan:
roles/bigquery.resourceAdmin
roles/bigquery.resourceEditor
roles/bigquery.resourceViewer
roles/bigquery.user
roles/bigquery.admin
Untuk mengetahui informasi selengkapnya tentang izin BigQuery, lihat Kontrol akses dengan IAM.
Skema
Tabel virtual INFORMATION_SCHEMA.RESERVATIONS
memiliki skema berikut:
Nama kolom | Jenis data | Nilai |
---|---|---|
ddl |
STRING |
Pernyataan DDL yang digunakan untuk membuat reservasi ini. |
project_id |
STRING |
ID project administrasi. |
project_number |
INTEGER |
Jumlah project administrasi. |
reservation_name |
STRING |
Nama reservasi yang diberikan pengguna. |
ignore_idle_slots |
BOOL |
Jika salah, semua kueri yang menggunakan reservasi ini dapat menggunakan slot tidak ada aktivitas yang tidak digunakan dari komitmen kapasitas lainnya. |
slot_capacity |
INTEGER |
Dasar pengukuran reservasi. |
target_job_concurrency |
INTEGER |
Jumlah target kueri yang dapat dieksekusi secara bersamaan, yang dibatasi oleh resource yang tersedia. Jika nol, nilai ini akan otomatis dihitung berdasarkan resource yang tersedia. |
autoscale |
STRUCT |
Informasi tentang kapasitas penskalaan otomatis reservasi. Kolom mencakup:
|
edition |
STRING |
Edisi yang terkait dengan reservasi ini. Untuk mengetahui informasi selengkapnya tentang edisi, lihat Pengantar edisi BigQuery. |
Cakupan dan sintaksis
Kueri terhadap tabel virtual ini harus menyertakan penentu region. Jika Anda tidak menentukan penentu regional, metadata akan diambil dari semua region. Tabel berikut menjelaskan cakupan region untuk tabel virtual ini:
Nama tabel virtual | Cakupan resource | Cakupan region |
---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.RESERVATIONS[_BY_PROJECT] |
Level project | REGION |
- Opsional:
PROJECT_ID
: ID project Google Cloud Anda. Jika tidak ditentukan, project default akan digunakan. REGION
: nama region set data apa pun. Misalnya,region-us
.
Bergabung antara tabel virtual reservasi dan tabel virtual tugas
Tabel virtual tugas berisi kolom reservation_id
. Jika tugas Anda berjalan dalam project dengan reservasi yang ditetapkan untuknya, reservation_id
akan mengikuti format ini: reservation-admin-project:reservation-location.reservation-name
.
Untuk menggabungkan antara tabel virtual reservasi dan tabel virtual tugas, Anda dapat menggabungkan kolom tabel virtual tugas reservation_id
serta kolom tabel virtual reservasi project_id
dan reservation_name
. Contoh berikut menunjukkan contoh penggunaan klausa JOIN
antara reservasi dan tabel virtual tugas.
Contoh
Contoh berikut menunjukkan penggunaan slot, kapasitas slot, dan reservasi yang ditetapkan untuk project dengan penetapan reservasi, selama satu jam terakhir. Penggunaan slot diberikan dalam satuan milidetik slot per detik.
WITH job_data AS ( SELECT job.period_start, job.reservation_id, job.period_slot_ms, job.job_id, job.job_type FROM `my-project.region-us`.INFORMATION_SCHEMA.JOBS_TIMELINE AS job WHERE job.period_start > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 HOUR)) SELECT reservation.reservation_name AS reservation_name, job.period_start, reservation.slot_capacity, job.period_slot_ms, job.job_id, job.job_type FROM job_data AS job INNER JOIN `reservation-admin-project.region-us`.INFORMATION_SCHEMA.RESERVATIONS AS reservation ON (job.reservation_id = CONCAT(reservation.project_id, ":", "US", ".", reservation.reservation_name));
Outputnya mirip dengan hal berikut ini:
+------------------+---------------------+---------------+----------------+------------------+----------+
| reservation_name | period_start | slot_capacity | period_slot_ms | job_id | job_type |
+------------------+---------------------+---------------+----------------+------------------+----------+
| my_reservation | 2021-04-30 17:30:54 | 100 | 11131 | bquxjob_66707... | QUERY |
| my_reservation | 2021-04-30 17:30:55 | 100 | 49978 | bquxjob_66707... | QUERY |
| my_reservation | 2021-04-30 17:30:56 | 100 | 9038 | bquxjob_66707... | QUERY |
| my_reservation | 2021-04-30 17:30:57 | 100 | 17237 | bquxjob_66707... | QUERY |
Kueri ini menggunakan tabel virtual RESERVATIONS
untuk mendapatkan informasi reservasi. Jika reservasi telah berubah dalam satu jam terakhir, kolom reservation_slot_capacity
mungkin tidak akurat.
Kueri tersebut menggabungkan RESERVATIONS
dengan JOBS_TIMELINE
untuk mengaitkan timeslices tugas dengan informasi reservasi.