Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Vue RESERVATIONS

La vue INFORMATION_SCHEMA.RESERVATIONS contient la liste de toutes les réservations en cours dans le projet d'administration. Chaque ligne représente une seule réservation en cours. Une réservation en cours est une réservation qui n'a pas été supprimée. Pour en savoir plus sur la réservation, consultez la section Présentation des réservations.

Autorisation requise

Pour interroger la vue INFORMATION_SCHEMA.RESERVATIONS, vous devez disposer de l'autorisation IAM (Identity and Access Management) bigquery.reservations.list pour le projet. Chacun des rôles IAM prédéfinis suivants inclut l'autorisation requise:

  • roles/bigquery.resourceAdmin
  • roles/bigquery.resourceEditor
  • roles/bigquery.resourceViewer
  • roles/bigquery.user
  • roles/bigquery.admin

Pour plus d'informations sur les autorisations BigQuery, consultez la page Contrôle des accès avec IAM.

Schéma

La vue INFORMATION_SCHEMA.RESERVATIONS présente le schéma suivant :

Nom de la colonne Type de données Valeur
ddl STRING Instruction LDD utilisée pour créer la réservation.
project_id STRING ID du projet d'administration.
project_number INTEGER Numéro du projet d'administration.
reservation_name STRING Nom de réservation fourni par l'utilisateur.
ignore_idle_slots BOOL Si la valeur est définie sur "false", toute requête utilisant cette réservation peut exploiter des emplacements inactifs provenant d'autres engagements de capacité.
slot_capacity INTEGER Capacité d'emplacements associée à la réservation.

Champ d'application et syntaxe

Les requêtes exécutées sur cette vue doivent inclure un qualificatif de région. Si vous ne spécifiez pas de qualificatif de région, les métadonnées sont extraites de toutes les régions. Le tableau suivant explique le champ d'application de la région pour cette vue:

Nom de la vue Champ d'application de la ressource Champ d'application de la région
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.RESERVATIONS[_BY_PROJECT] Niveau Projet REGION
Remplacez les éléments suivants :

Effectuer une jointure entre les vues de réservations et les vues de tâches

Les vues de tâches contiennent la colonne reservation_id. Si votre tâche a été exécutée dans un projet auquel une réservation est attribuée, reservation_id doit respecter le format suivant : reservation-admin-project:reservation-location.reservation-name.

Pour effectuer une jointure entre les vues de réservation et les vues de tâche, vous pouvez procéder entre la colonne reservation_id des vues de tâche et les colonnes de vues de réservation project_id et reservation_name. L'exemple suivant montre comment utiliser la clause JOIN entre les vues de réservation et de tâche.

Exemple

L'exemple suivant montre l'utilisation des emplacements, la capacité d'emplacements et la réservation attribuée pour un projet avec une attribution de réservation, au cours de l'heure précédente. L'utilisation des emplacements est indiquée en unités d'emplacements de millisecondes par seconde.

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));

Le résultat ressemble à ce qui suit :

+------------------+---------------------+---------------+----------------+------------------+----------+
| 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    |

Cette requête utilise la vue RESERVATIONS pour obtenir des informations sur une réservation. Si les réservations ont été modifiées au cours de l'heure précédente, la colonne reservation_slot_capacity peut ne pas être exacte.

La requête joint RESERVATIONS à JOBS_TIMELINE pour associer les tranches horaires de la tâche aux informations de réservation.