Monitorare le query continue

Puoi monitorare le query continue di BigQuery utilizzando i seguenti strumenti BigQuery:

A causa della natura di esecuzione prolungata di una query continua di BigQuery, le metriche che vengono solitamente generate al termine di una query SQL potrebbero essere assenti o imprecise.

Monitora le query continue utilizzando le visualizzazioni INFORMATION_SCHEMA

Puoi utilizzare una serie di visualizzazioni INFORMATION_SCHEMA per monitorare le query continue e le prenotazioni delle query continue.

Ottenere i dettagli del job di query continua

Puoi utilizzare le viste ASSIGNMENTS e JOBS per ottenere i metadati dei job di query continua.

Restituisce i metadati di tutte le query continue in esecuzione:

  1. Nella console Google Cloud, vai alla pagina BigQuery.

    Vai a BigQuery

  2. Nell'editor di query, esegui la seguente query:

    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;

    Sostituisci quanto segue:

    • ADMIN_PROJECT_ID: l'ID del progetto di amministrazione proprietario della prenotazione.
    • LOCATION: la località della prenotazione.
    • PROJECT_ID: l'ID del progetto assegnato alla prenotazione. Vengono restituite solo le informazioni sulle query continue in esecuzione in questo progetto.

Ottenere i dettagli dell'assegnazione delle prenotazioni con query continue

Puoi utilizzare le visualizzazioni ASSIGNMENTS e RESERVATIONS per ottenere dettagli sull'assegnazione delle prenotazioni delle query continue.

Restituisce i dettagli dell'assegnazione della prenotazione per le query continue:

  1. Nella console Google Cloud, vai alla pagina BigQuery.

    Vai a BigQuery

  2. Nell'editor di query, esegui la seguente query:

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

    Sostituisci quanto segue:

    • ADMIN_PROJECT_ID: l'ID del progetto di amministrazione proprietario della prenotazione.
    • LOCATION: la località della prenotazione.
    • PROJECT_ID: l'ID del progetto assegnato alla prenotazione. Vengono restituite solo le informazioni sulle query continue in esecuzione in questo progetto.

Ottenere informazioni sul consumo degli slot di query continua

Puoi utilizzare le visualizzazioni ASSIGNMENTS, RESERVATIONS e JOBS_TIMELINE per ottenere informazioni sul consumo degli slot di query continua.

Restituisce informazioni sul consumo di slot per le query continue:

  1. Nella console Google Cloud, vai alla pagina BigQuery.

    Vai a BigQuery

  2. Nell'editor di query, esegui la seguente query:

    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;

    Sostituisci quanto segue:

    • ADMIN_PROJECT_ID: l'ID del progetto di amministrazione proprietario della prenotazione.
    • LOCATION: la località della prenotazione.
    • PROJECT_ID: l'ID del progetto assegnato alla prenotazione. Vengono restituite solo le informazioni sulle query continue in esecuzione in questo progetto.

Puoi anche monitorare le prenotazioni di query continue utilizzando altri strumenti come Metrics Explorer e i grafici delle risorse amministrative. Per ulteriori informazioni, consulta Monitorare le prenotazioni BigQuery.

Monitorare le prestazioni delle query continue utilizzando un grafico di esecuzione delle query

Puoi utilizzare un grafico di esecuzione delle query per ottenere informazioni sulle prestazioni e statistiche generali per una query continua. Per ulteriori informazioni, consulta Visualizzare gli insight sul rendimento delle query.

Monitorare l'esecuzione delle query continue utilizzando la cronologia dei job

Puoi visualizzare i dettagli dei job nella cronologia dei job personale o nel progetto. Per saperne di più, consulta Visualizzare i dettagli del job.

Tieni presente che l'elenco storico dei job è ordinato in base all'ora di inizio del job, pertanto le query continue in esecuzione da un po' di tempo potrebbero non trovarsi vicino all'inizio dell'elenco.