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 Zeile für jede Minute jeder BigQuery-Reservierung in den letzten 180 Tagen und eine Zeile für jede Minute mit Reservierungsänderungen für Vorkommnisse, die älter als 180 Tage sind. 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
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.
edition STRING Die mit dieser Reservierung verknüpfte Edition. Weitere Informationen zu Editionen finden Sie unter Einführung in BigQuery-Editionen.
ignore_idle_slots BOOL „False“, wenn die Slot-Freigabe aktiviert ist, andernfalls „true“.
period_start TIMESTAMP Startzeit dieses einminütigen Zeitraums.
project_id STRING ID des Reservierungs-Administratorprojekts.
project_number INTEGER Nummer des Projekts.
reservation_id STRING Für die Verknüpfung mit der Tabelle "jobs_timeline". Hat das Format project_id:location.reservation_name.
reservation_name STRING Der Name der Reservierung
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.

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