Monitorare le query continue

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

Data la natura a lunga esecuzione di una query continua in BigQuery, di solito generate al completamento di una query SQL, assente o impreciso.

Monitora le query continue utilizzando INFORMATION_SCHEMA viste

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

Ottieni dettagli del job di query continua

Puoi utilizzare lo ASSIGNMENTS e JOBS visualizzazioni da ricevere metadati del job di query continue.

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: il luogo della prenotazione.
    • PROJECT_ID: l'ID del progetto assegnato a la prenotazione. Solo informazioni sulle query continue in esecuzione in questo viene restituito.

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.

Restituire i dettagli dell'assegnazione di prenotazione per le query continue:

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

    Vai a BigQuery

  2. Nell'editor query, esegui questa 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: il luogo della prenotazione.
    • PROJECT_ID: l'ID del progetto assegnato a la prenotazione. Vengono restituite solo le informazioni sulle query continue in esecuzione in questo progetto.

Ottieni informazioni sul consumo continuo di slot di query

Puoi utilizzare lo ASSIGNMENTS, RESERVATIONS e JOBS_TIMELINE visualizzazioni per informazioni sul consumo di slot di query continue.

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 query, esegui questa 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: il luogo 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 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, vedi Visualizza gli insight sulle prestazioni 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 del progetto. Per saperne di più, consulta Visualizzare i dettagli dei job.

Tieni presente che l'elenco storico dei job viene ordinato in base ora di inizio del job, quindi le query continue in esecuzione da un po' potrebbero non essere vicini all'inizio dell'elenco.