Visualizzazione RESERVATIONS_TIMELINE

La visualizzazione INFORMATION_SCHEMA.RESERVATIONS_TIMELINE mostra in quasi tempo reale i ts dei metadati delle prenotazioni per ogni progetto di amministrazione delle prenotazioni ogni minuto. Per confrontare l'utilizzo degli slot con la relativa capacità, puoi combinare le informazioni sulle prenotazioni con la cronologia dei job utilizzando la visualizzazione della cronologia delle prenotazioni.

Schema

Quando esegui query sulle visualizzazioni INFORMATION_SCHEMA.RESERVATIONS_TIMELINE_BY_*, i risultati della query contengono una riga per ogni minuto di ogni prenotazione BigQuery negli ultimi 180 giorni e una riga per ogni minuto con modifiche alla prenotazione per eventuali occorrenze precedenti a 180 giorni. Ogni periodo inizia con un intervallo di un minuto intero e dura esattamente un minuto.

La vista INFORMATION_SCHEMA.RESERVATIONS_TIMELINE_BY_PROJECT ha lo schema seguente:

Nome colonna Tipo di dati Valore
period_start TIMESTAMP Ora di inizio di questo periodo di un minuto.
project_id STRING ID del progetto di amministrazione delle prenotazioni.
project_number INTEGER Numero del progetto.
reservation_name STRING Il nome della prenotazione.
ignore_idle_slots BOOL False se la condivisione degli slot è abilitata, altrimenti true.
slots_assigned INTEGER Il numero di slot assegnati a questa prenotazione.
slots_max_assigned INTEGER La capacità massima di slot per questa prenotazione, inclusa la condivisione degli slot. Se ignore_idle_slots è True, corrisponde a slots_assigned, altrimenti si tratta del numero totale di slot in tutti gli impegni di capacità nel progetto amministratore.
autoscale STRUCT

Informazioni sulla capacità di scalabilità automatica della prenotazione. I campi includono:

  • current_slots: il numero di slot aggiunti alla prenotazione tramite la scalabilità automatica.
  • max_slots: il numero massimo di slot che possono essere aggiunti alla prenotazione tramite la scalabilità automatica.
reservation_id STRING Per l'unione con la tabella jobs_timeline. Deve avere il formato project_id:location.reservation_name.

Ambito e sintassi

Le query su questa vista devono includere un qualificatore regione. Se non specifichi un qualificatore regionale, i metadati vengono recuperati da tutte le regioni. La tabella seguente illustra l'ambito della regione e delle risorse per questa visualizzazione:

Nome vista Ambito risorsa Ambito regione
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.RESERVATIONS_TIMELINE[_BY_PROJECT] Livello progetto REGION
Sostituisci quanto segue:

  • Facoltativo: PROJECT_ID: l'ID del tuo progetto Google Cloud. Se non viene specificato, viene utilizzato il progetto predefinito.

  • REGION: qualsiasi nome della regione del set di dati. Ad esempio: `region-us`.

  • Esempi

    Esempio: visualizzare l'utilizzo totale degli slot per minuto

    Per eseguire la query su un progetto diverso da quello predefinito, aggiungi l'ID progetto nel seguente formato:

    `PROJECT_ID`.`region-REGION_NAME`.INFORMATION_SCHEMA.JOBS_TIMELINE_BY_ORGANIZATION
    . Ad esempio, `myproject`.`region-us`.INFORMATION_SCHEMA.JOBS_TIMELINE_BY_ORGANIZATION.

    L'esempio seguente mostra l'utilizzo degli slot al minuto dei progetti assegnati a YOUR_RESERVATION_ID in tutti i job:

    SELECT
      res.period_start,
      SUM(jobs.period_slot_ms) / 1000 / 60 AS period_slot_minutes,
      ANY_VALUE(res.slots_assigned) AS slot_assigned,
      ANY_VALUE(res.slots_max_assigned) AS slots_max_assigned
    FROM
      `region-us`.INFORMATION_SCHEMA.JOBS_TIMELINE_BY_ORGANIZATION jobs
    JOIN
      `region-us`.INFORMATION_SCHEMA.RESERVATIONS_TIMELINE res
      ON
        TIMESTAMP_TRUNC(jobs.period_start, MINUTE) = res.period_start
        AND jobs.reservation_id = res.reservation_id
    WHERE
      jobs.job_creation_time
        BETWEEN TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY)
        AND CURRENT_TIMESTAMP()
      AND res.reservation_id = 'YOUR_RESERVATION_ID'
      AND (jobs.statement_type != "SCRIPT" OR jobs.statement_type IS NULL)  -- Avoid duplicate byte counting in parent and children jobs.
    GROUP BY
      period_start
    ORDER BY
      period_start DESC;

    Il risultato è simile al seguente:

    +-----------------------+---------------------+---------------+-------------------+
    |     period_start      | period_slot_minutes | slots_assigned| slots_max_assigned|
    +-----------------------+---------------------+---------------+-------------------+
    |2021-06-08 21:33:00 UTC|       100.000       |      100      |        100        |
    |2021-06-08 21:32:00 UTC|        96.753       |      100      |        100        |
    |2021-06-08 21:31:00 UTC|        41.668       |      100      |        100        |
    +-----------------------+---------------------+---------------+-------------------+
    

    Esempio: utilizzo degli slot per prenotazione

    L'esempio seguente mostra l'utilizzo dello spazio per minuto per ogni prenotazione nell'ultimo giorno:

    SELECT
      res.period_start,
      res.reservation_id,
      SUM(jobs.period_slot_ms) / 1000 / 60 AS period_slot_minutes,
      ANY_VALUE(res.slots_assigned) AS slots_assigned,
      ANY_VALUE(res.slots_max_assigned) AS slots_max_assigned,
    FROM
      `region-us`.INFORMATION_SCHEMA.JOBS_TIMELINE_BY_ORGANIZATION jobs
    JOIN
      `region-us`.INFORMATION_SCHEMA.RESERVATIONS_TIMELINE res
      ON TIMESTAMP_TRUNC(jobs.period_start, MINUTE) = res.period_start
         AND jobs.reservation_id = res.reservation_id
    WHERE
      jobs.job_creation_time
      BETWEEN TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY)
      AND CURRENT_TIMESTAMP()
      AND (jobs.statement_type != "SCRIPT" OR jobs.statement_type IS NULL)  -- Avoid duplicate byte counting in parent and children jobs.
    GROUP BY
      period_start,
      reservation_id
    ORDER BY
      period_start DESC,
      reservation_id;

    Il risultato è simile al seguente:

    +-----------------------+----------------+---------------------+---------------+--------------------+
    |     period_start      | reservation_id | period_slot_minutes | slot_assigned | slots_max_assigned |
    +-----------------------+----------------+---------------------+---------------+--------------------+
    |2021-06-08 21:33:00 UTC|     prod01     |       100.000       |      100      |        100         |
    |2021-06-08 21:33:00 UTC|     prod02     |       177.201       |      200      |        500         |
    |2021-06-08 21:32:00 UTC|     prod01     |        96.753       |      100      |        100         |
    |2021-06-08 21:32:00 UTC|     prod02     |       182.329       |      200      |        500         |
    +-----------------------+----------------+---------------------+---------------+--------------------+