Ansicht RESERVATIONS_TIMELINE

In der Ansicht INFORMATION_SCHEMA.RESERVATIONS_TIMELINE werden für jede Minute Segmente von Reservierungsmetadaten nahezu in Echtzeit für jedes Reservierungsadministratorprojekt angezeigt. Um die Slot-Nutzung mit der Slotkapazität zu vergleichen, können Sie die Reservierungsinformationen mit der Jobzeitachse mithilfe der Ansicht der Reservierungszeitachse kombinieren.

Schema

Wenn Sie die INFORMATION_SCHEMA.RESERVATIONS_TIMELINE_BY_*-Ansichten abfragen, enthalten die Ergebnisse eine Minute für jede Minute jeder BigQuery-Reservierung. Jeder Zeitraum beginnt mit einem ganzen Minutenintervall und entspricht genau einer Minute.

Die Ansicht INFORMATION_SCHEMA.RESERVATIONS_TIMELINE_BY_PROJECT hat das folgende Schema:

Spaltenname Datentyp Wert
period_start TIMESTAMP Startzeit dieses einminütigen Zeitraums.
project_id STRING ID des Reservierungs-Administratorprojekts.
project_number INTEGER Nummer des Projekts.
reservation_name STRING Der Name der Reservierung
ignore_idle_slots BOOL „False“, wenn die Slot-Freigabe aktiviert ist, andernfalls „true“.
slots_assigned INTEGER Die Anzahl der dieser Reservierung zugewiesenen Slots.
slots_max_assigned INTEGER Die maximale Slot-Kapazität für diese Reservierung, einschließlich Slot-Freigabe. Wenn ignore_idle_slots "true" ist, ist dies das gleiche wie slots_assigned, andernfalls ist dies die Gesamtzahl der Slots in allen Kapazitätszusicherungen des Admin-Projekts.
autoscale STRUCT

Informationen zur Autoscaling-Kapazität der Reservierung. Zu den Feldern gehören:

  • current_slots: die Anzahl der Slots, die durch Autoscaling der Reservierung hinzugefügt wurden.
  • max_slots: die maximale Anzahl an Slots, die der Reservierung durch Autoscaling hinzugefügt werden können.
reservation_id STRING Für die Verknüpfung mit der Tabelle "jobs_timeline". Hat das Format project_id:location.reservation_name.

Bereich und Syntax

Für Abfragen dieser Ansicht muss ein Regions-Qualifier verwendet werden. Wenn Sie keinen regionalen Qualifizierer angeben, werden Metadaten aus allen Regionen abgerufen. In der folgenden Tabelle werden der Regionsbereich und der Ressourcenbereich für diese Ansicht erläutert:

Ansichtsname Ressourcenbereich Regionsbereich
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.RESERVATIONS_TIMELINE[_BY_PROJECT] Projektebene REGION
Ersetzen Sie Folgendes:

  • Optional: PROJECT_ID: die ID Ihres Google Cloud-Projekts. Wenn keine Angabe erfolgt, wird das Standardprojekt verwendet.
  • REGION: ist ein beliebiger Dataset-Regionsname. Beispiel: region-us

Beispiele

Beispiel: Gesamte Slot-Nutzung pro Minute

Wenn Sie die Abfrage für ein anderes Projekt als Ihr Standardprojekt ausführen möchten, fügen Sie die Projekt-ID im folgenden Format hinzu:

`PROJECT_ID`.`region-REGION_NAME`.INFORMATION_SCHEMA.JOBS_TIMELINE_BY_ORGANIZATION
. Beispiel: `myproject`.`region-us`.INFORMATION_SCHEMA.JOBS_TIMELINE_BY_ORGANIZATION.

Das folgende Beispiel zeigt die Slotnutzung pro Minute aus Projekten, die YOUR_RESERVATION_ID zugewiesen sind (für alle Jobs übergreifend):

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;

Das Ergebnis sieht etwa so aus:

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

Beispiel: Slot-Nutzung nach Reservierung

Im folgenden Beispiel wird die Slot-Nutzung pro Minute für jede Reservierung des letzten Tages gezeigt:

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;

Das Ergebnis sieht etwa so aus:

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