Visualizzazione PRENOTAZIONI
La vista INFORMATION_SCHEMA.RESERVATIONS
contiene un elenco quasi in tempo reale di tutte
delle prenotazioni attuali all'interno del progetto di amministrazione. Ogni riga rappresenta un
un'unica prenotazione attuale. Una prenotazione corrente è una prenotazione che non ha
eliminati. Per ulteriori informazioni sulla prenotazione, consulta
Introduzione alle prenotazioni.
Autorizzazione obbligatoria
Per eseguire query sulla vista INFORMATION_SCHEMA.RESERVATIONS
, devi disporre
l'autorizzazione bigquery.reservations.list
Identity and Access Management (IAM) per
progetto.
Ciascuno dei seguenti ruoli IAM predefiniti include
autorizzazione:
roles/bigquery.resourceAdmin
roles/bigquery.resourceEditor
roles/bigquery.resourceViewer
roles/bigquery.user
roles/bigquery.admin
Per ulteriori informazioni sulle autorizzazioni BigQuery, consulta Controllo dell'accesso con IAM.
Schema
La vista INFORMATION_SCHEMA.RESERVATIONS
ha le
schema riportato di seguito:
Nome colonna | Tipo di dati | Valore |
---|---|---|
ddl |
STRING |
L'istruzione DDL utilizzata per creare la prenotazione. |
project_id |
STRING |
ID del progetto di amministrazione. |
project_number |
INTEGER |
Numero del progetto di amministrazione. |
reservation_name |
STRING |
Nome prenotazione fornito dall'utente. |
ignore_idle_slots |
BOOL |
Se il valore è false, tutte le query che utilizzano questa prenotazione possono utilizzare gli slot inattivi inutilizzati da altri impegni di capacità. |
slot_capacity |
INTEGER |
Base di riferimento della prenotazione. |
target_job_concurrency |
INTEGER |
Il numero target di query che possono essere eseguite contemporaneamente, ovvero limitati dalle risorse disponibili. Se pari a zero, questo valore viene calcolato automaticamente in base Google Cloud. |
autoscale |
STRUCT |
Informazioni sulla capacità di scalabilità automatica della prenotazione. Sono inclusi i seguenti campi:
|
edition |
STRING |
La versione associata a questa prenotazione. Per saperne di più sulle versioni, consulta Introduzione alle versioni di BigQuery. |
Ambito e sintassi
Le query relative a questa vista devono includere un qualificatore regione. Se non specifichi un qualificatore regionale, i metadati vengono recuperati da tutti regioni. La tabella seguente spiega l'ambito della regione per questa visualizzazione:
Nome vista | Ambito risorsa | Ambito della regione |
---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.RESERVATIONS[_BY_PROJECT] |
Livello di progetto | REGION |
- (Facoltativo)
PROJECT_ID
: l'ID del tuo progetto Google Cloud. Se non specificato, viene utilizzato il progetto predefinito.
REGION
: qualsiasi nome della regione del set di dati.
Ad esempio: region-us
.
Unione tra le visualizzazioni della prenotazione e quelle del job
Le visualizzazioni job contengono la colonna
reservation_id
. Se il job è stato eseguito in un progetto con una prenotazione assegnata a
questo formato: reservation_id
reservation-admin-project:reservation-location.reservation-name
.
Per eseguire il join tra le visualizzazioni della prenotazione e quelle del job, puoi eseguire il join tra
la colonna reservation_id
delle visualizzazioni job e le colonne delle visualizzazioni prenotazione
project_id
e reservation_name
. L'esempio seguente mostra un esempio di
utilizzando la clausola JOIN
tra la prenotazione e le visualizzazioni del job.
Esempio
L'esempio seguente mostra l'utilizzo degli slot, la capacità degli slot e la prenotazione assegnata per un progetto con un'assegnazione di prenotazione, nell'ultima ora. L'utilizzo slot è espressi in millisecondi di slot al secondo.
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));
L'output è simile al seguente:
------------------ --------------------- --------------- ---------------- ------------------ ----------
| 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 |
Questa query utilizza la vista RESERVATIONS
per ottenere la prenotazione
informazioni. Se nell'ultima ora le prenotazioni sono cambiate,
La colonna reservation_slot_capacity
potrebbe non essere precisa.
La query unisce RESERVATIONS
con
Da JOBS_TIMELINE
a
associare le durate del job alle informazioni di prenotazione.