Surveiller les requêtes continues

Vous pouvez surveiller les requêtes continues BigQuery à l'aide des outils BigQuery suivants :

En raison de la nature de longue durée d'une requête continue BigQuery, les métriques généralement générées à la fin d'une requête SQL peuvent être absentes ou inexactes.

Surveiller les requêtes continues à l'aide des vues INFORMATION_SCHEMA

Vous pouvez utiliser un certain nombre de vues INFORMATION_SCHEMA pour surveiller les requêtes continues et les réservations de requêtes continues.

Obtenir les détails d'un job de requête continue

Vous pouvez utiliser les vues ASSIGNMENTS et JOBS pour obtenir des métadonnées de job de requête continue.

Renvoyez les métadonnées de toutes les requêtes continues en cours d'exécution :

  1. Dans la console Google Cloud, accédez à la page BigQuery.

    Accéder à BigQuery

  2. Dans l'éditeur de requête, saisissez la requête suivante :

    SELECT
      jobs.job_id,
      jobs.user_email,
      jobs.query,
      jobs.state,
      assignment.reservation_name
    FROM `ADMIN_PROJECT_ID.region-LOCATION.INFORMATION_SCHEMA.ASSIGNMENTS` AS assignment
    INNER JOIN `ADMIN_PROJECT_ID.region-LOCATION.INFORMATION_SCHEMA.JOBS` AS jobs
      ON (CONCAT('ADMIN_PROJECT_ID:LOCATION.', assignment.reservation_name) = jobs.reservation_id)
    WHERE
      assignment.assignee_id = 'PROJECT_ID'
      AND assignment.job_type = 'CONTINUOUS'
      AND jobs.state = 'RUNNING'
    GROUP BY 1, 2, 3, 4, 5;

    Remplacez les éléments suivants :

    • ADMIN_PROJECT_ID : ID du projet d'administration propriétaire de la réservation.
    • LOCATION : emplacement de la réservation.
    • PROJECT_ID : ID du projet attribué à la réservation. Seules les informations sur les requêtes continues exécutées dans ce projet sont renvoyées.

Obtenir les détails d'attribution de réservation de requêtes continues

Vous pouvez utiliser les vues ASSIGNMENTS et RESERVATIONS pour obtenir les détails d'attribution de réservation de requête continue.

Renvoyez les détails d'attribution de réservation pour les requêtes continues :

  1. Dans la console Google Cloud, accédez à la page BigQuery.

    Accéder à BigQuery

  2. Dans l'éditeur de requête, saisissez la requête suivante :

    SELECT
      reservation.reservation_name,
      reservation.slot_capacity
    FROM
      `ADMIN_PROJECT_ID.region-LOCATION.INFORMATION_SCHEMA.ASSIGNMENTS`
        AS assignment
    INNER JOIN
      `ADMIN_PROJECT_ID.region-LOCATION.INFORMATION_SCHEMA.RESERVATIONS`
        AS reservation
      ON (assignment.reservation_name = reservation.reservation_name)
    WHERE
      assignment.assignee_id = 'PROJECT_ID'
      AND job_type = 'CONTINUOUS';

    Remplacez les éléments suivants :

    • ADMIN_PROJECT_ID : ID du projet d'administration propriétaire de la réservation.
    • LOCATION : emplacement de la réservation.
    • PROJECT_ID : ID du projet attribué à la réservation. Seules les informations sur les requêtes continues exécutées dans ce projet sont renvoyées.

Obtenir des informations sur la consommation des emplacements de requêtes continues

Vous pouvez utiliser les vues ASSIGNMENTS, RESERVATIONS et JOBS_TIMELINE pour obtenir des informations sur la consommation des emplacements de requête en continu.

Renvoyez des informations sur la consommation des emplacements pour les requêtes continues :

  1. Dans la console Google Cloud, accédez à la page BigQuery.

    Accéder à BigQuery

  2. Dans l'éditeur de requête, saisissez la requête suivante :

    SELECT
      jobs.period_start,
      reservation.reservation_name,
      reservation.slot_capacity,
      SUM(jobs.period_slot_ms) / 1000 AS consumed_total_slots
    FROM
      `ADMIN_PROJECT_ID.region-LOCATION.INFORMATION_SCHEMA.ASSIGNMENTS`
        AS assignment
    INNER JOIN
      `ADMIN_PROJECT_ID.region-LOCATION.INFORMATION_SCHEMA.RESERVATIONS`
        AS reservation
      ON (assignment.reservation_name = reservation.reservation_name)
    INNER JOIN
      `ADMIN_PROJECT_ID.region-LOCATION.INFORMATION_SCHEMA.JOBS_TIMELINE` AS jobs
      ON (
        CONCAT('ADMIN_PROJECT_ID:LOCATION.', assignment.reservation_name)
        = jobs.reservation_id)
    WHERE
      assignment.assignee_id = 'PROJECT_ID'
      AND assignment.job_type = 'CONTINUOUS'
      AND jobs.period_start
        BETWEEN TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY)
        AND CURRENT_TIMESTAMP()
    GROUP BY 1, 2, 3
    ORDER BY jobs.period_start DESC;

    Remplacez les éléments suivants :

    • ADMIN_PROJECT_ID : ID du projet d'administration propriétaire de la réservation.
    • LOCATION : emplacement de la réservation.
    • PROJECT_ID : ID du projet attribué à la réservation. Seules les informations sur les requêtes continues exécutées dans ce projet sont renvoyées.

Vous pouvez également surveiller les réservations de requêtes continues à l'aide d'autres outils, tels que l'Explorateur de métriques et les graphiques de ressources d'administration. Pour en savoir plus, consultez la page Surveiller les réservations BigQuery.

Surveiller les performances des requêtes continues à l'aide d'un graphique d'exécution de requêtes

Vous pouvez utiliser des graphiques d'exécution de requêtes pour obtenir des informations sur les performances et des statistiques générales d'une requête continue. Pour en savoir plus, consultez la page Afficher les informations sur les performances des requêtes.

Surveiller l'exécution des requêtes continues à l'aide de l'historique des jobs

Vous pouvez afficher les détails du job dans l'historique personnel de vos jobs ou dans l'historique des jobs du projet. Pour en savoir plus, consultez la section Afficher les détails des jobs.

Sachez que la liste historique des jobs est triée en fonction de l'heure de début du job. Par conséquent, les requêtes continues qui s'exécutent depuis un certain temps pourraient ne pas se trouver au début de la liste.