Tampilan RESERVATIONS_TIMELINE

Tampilan INFORMATION_SCHEMA.RESERVATIONS_TIMELINE menunjukkan timeslice metadata pemesanan yang mendekati real-time untuk setiap project admin pemesanan untuk setiap menit. Untuk membandingkan penggunaan slot dengan kapasitas slot, Anda dapat menggabungkan informasi reservasi dengan linimasa tugas menggunakan tampilan linimasa pemesanan.

Skema

Saat Anda membuat kueri tampilan INFORMATION_SCHEMA.RESERVATIONS_TIMELINE_BY_*, hasil kueri akan berisi satu baris untuk setiap menit dari setiap reservasi BigQuery dalam 180 hari terakhir, dan satu baris untuk setiap menit dengan perubahan reservasi untuk setiap kemunculan yang lebih lama dari 180 hari. Setiap periode dimulai pada interval satu menit penuh dan berlangsung tepat satu menit.

Tampilan INFORMATION_SCHEMA.RESERVATIONS_TIMELINE_BY_PROJECT memiliki skema berikut:

Nama kolom Jenis data Nilai
autoscale STRUCT

Informasi tentang kapasitas penskalaan otomatis reservasi. Kolom mencakup:

  • current_slots: jumlah slot yang ditambahkan ke reservasi oleh penskalaan otomatis.
  • max_slots: jumlah maksimum slot yang dapat ditambahkan ke reservasi dengan penskalaan otomatis.
edition STRING Edisi yang terkait dengan reservasi ini. Untuk mengetahui informasi selengkapnya tentang edisi, lihat Pengantar edisi BigQuery.
ignore_idle_slots BOOL False (salah) jika berbagi slot diaktifkan, jika tidak, true (benar).
period_start TIMESTAMP Waktu mulai periode satu menit ini.
project_id STRING ID project admin pemesanan.
project_number INTEGER Nomor project.
reservation_id STRING Untuk bergabung dengan tabel jobs_timeline. Kolom ini memiliki format project_id:location.reservation_name.
reservation_name STRING Nama pemesanan.
slots_assigned INTEGER Jumlah slot yang ditetapkan untuk pemesanan ini.
slots_max_assigned INTEGER Kapasitas slot maksimum untuk pemesanan ini, termasuk berbagi slot. Jika ignore_idle_slots bernilai benar, ini sama dengan slots_assigned. Jika tidak, ini adalah jumlah total slot dalam semua komitmen kapasitas dalam project admin.

Cakupan dan sintaksis

Kueri terhadap tabel virtual ini harus menyertakan penentu region. Jika Anda tidak menentukan penentu regional, metadata akan diambil dari semua region. Tabel berikut menjelaskan cakupan region dan resource untuk tampilan ini:

Nama tampilan Cakupan resource Cakupan region
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.RESERVATIONS_TIMELINE[_BY_PROJECT] Level project REGION
Ganti kode berikut:

  • Opsional: PROJECT_ID: ID project Google Cloud Anda. Jika tidak ditentukan, project default akan digunakan.

  • REGION: nama region set data apa pun. Misalnya, `region-us`.

  • Contoh

    Contoh: Lihat total penggunaan slot per menit

    Untuk menjalankan kueri terhadap project selain project default Anda, tambahkan project ID dalam format berikut:

    `PROJECT_ID`.`region-REGION_NAME`.INFORMATION_SCHEMA.JOBS_TIMELINE_BY_ORGANIZATION
    . Misalnya, `myproject`.`region-us`.INFORMATION_SCHEMA.JOBS_TIMELINE_BY_ORGANIZATION.

    Contoh berikut menunjukkan penggunaan slot per menit dari project yang ditetapkan ke YOUR_RESERVATION_ID di semua tugas:

    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;

    Hasilnya mirip dengan berikut ini:

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

    Contoh: Penggunaan slot berdasarkan pemesanan

    Contoh berikut menunjukkan penggunaan slot per menit untuk setiap pemesanan dalam satu hari terakhir:

    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;

    Hasilnya mirip dengan berikut ini:

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