Tampilan MATERIALIZED_VIEWS

Tampilan INFORMATION_SCHEMA.MATERIALIZED_VIEWS berisi status tentang tampilan terwujud.

Izin yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk meng-kueri tampilan INFORMATION_SCHEMA.MATERIALIZED_VIEWS, minta administrator untuk memberi Anda peran IAM BigQuery Metadata Viewer (roles/bigquery.metadataViewer) di project atau set data Anda. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.

Peran yang telah ditetapkan ini berisi izin yang diperlukan untuk membuat kueri tampilan INFORMATION_SCHEMA.MATERIALIZED_VIEWS. Untuk melihat izin yang pasti diperlukan, luaskan bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk membuat kueri tampilan INFORMATION_SCHEMA.MATERIALIZED_VIEWS:

  • bigquery.tables.get
  • bigquery.tables.list

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Untuk mengetahui informasi selengkapnya tentang izin BigQuery, lihat Kontrol akses dengan IAM.

Skema

Saat Anda meng-kueri tampilan INFORMATION_SCHEMA.MATERIALIZED_VIEWS, hasil kueri akan berisi satu baris untuk setiap tampilan terwujud dalam set data.

Tampilan INFORMATION_SCHEMA.MATERIALIZED_VIEWS memiliki skema berikut:

Nama kolom Jenis data Nilai
TABLE_CATALOG STRING Nama project yang berisi set data. Juga disebut sebagai projectId.
TABLE_SCHEMA STRING Nama set data yang berisi tampilan terwujud. Juga disebut sebagai datasetId.
TABLE_NAME STRING Nama tampilan terwujud. Juga disebut sebagai tableId.
LAST_REFRESH_TIME TIMESTAMP Waktu saat tampilan terwujud ini terakhir dimuat ulang.
REFRESH_WATERMARK TIMESTAMP Watermark pemuatan ulang tampilan terwujud. Data yang terdapat dalam tabel dasar tampilan terwujud hingga saat ini disertakan dalam cache tampilan terwujud.
LAST_REFRESH_STATUS RECORD Hasil error dari tugas pemuatan ulang otomatis terakhir sebagai objek ErrorProto. Jika ada, menunjukkan bahwa pemuatan ulang otomatis terakhir gagal.

Cakupan dan sintaksis

Kueri terhadap tabel virtual ini harus menyertakan set data atau penentu region. Untuk kueri dengan penentu set data, Anda harus memiliki izin untuk set data. Untuk kueri dengan penentu region, Anda harus memiliki izin untuk project. Untuk informasi selengkapnya, lihat Sintaksis. Tabel berikut menjelaskan cakupan region dan resource untuk tampilan ini:

Nama tabel virtual Cakupan resource Cakupan region
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.MATERIALIZED_VIEWS Level project REGION
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.MATERIALIZED_VIEWS Level set data Lokasi set data
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.
  • DATASET_ID: ID set data Anda. Untuk mengetahui informasi selengkapnya, lihat Penentu set data.

Contoh:

-- Returns metadata for views in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.MATERIALIZED_VIEWS;

-- Returns metadata for all views in a region.
SELECT * FROM region-us.INFORMATION_SCHEMA.MATERIALIZED_VIEWS;

Contoh

Contoh 1:

Contoh berikut mengambil semua tampilan terwujud yang tidak responsif dari tampilan INFORMATION_SCHEMA.MATERIALIZED_VIEWS. Metode ini menampilkan tampilan terwujud dengan nilai last_refresh_status non-NULL dalam mydataset dalam project default Anda — myproject.

Untuk menjalankan kueri terhadap project selain project default Anda, tambahkan project ID ke set data dalam format berikut: `project_id`.dataset.INFORMATION_SCHEMA.MATERIALIZED_VIEWS; misalnya, `myproject`.mydataset.INFORMATION_SCHEMA.MATERIALIZED_VIEWS.

SELECT
  table_name, last_refresh_status
FROM
  mydataset.INFORMATION_SCHEMA.MATERIALIZED_VIEWS
WHERE
  last_refresh_status IS NOT NULL;

Hasilnya serupa dengan berikut ini:

  +---------------+---------------------------------------------------------------------+
  |  table_name   |                        last_refresh_status                          |
  +---------------------------------------------------------------------+---------------+
  |  myview       |   {"reason":"invalidQuery","location":"query","message":"..."}      |
  +---------------------------------------------------------------------+---------------+
  

Contoh 2:

Contoh berikut mengambil last_refresh_time dan refresh_watermark dari tampilan terwujud myview di mydataset dalam project default Anda — myproject. Hasilnya menunjukkan kapan tampilan terwujud terakhir dimuat ulang dan hingga saat data tabel dasar dikumpulkan ke dalam cache tampilan terwujud.

Untuk menjalankan kueri terhadap project selain project default Anda, tambahkan project ID ke set data dalam format berikut: `project_id`.dataset.INFORMATION_SCHEMA.MATERIALIZED_VIEWS; misalnya, `myproject`.mydataset.INFORMATION_SCHEMA.MATERIALIZED_VIEWS.

SELECT
  table_name, last_refresh_time, refresh_watermark
FROM
  mydataset.INFORMATION_SCHEMA.MATERIALIZED_VIEWS
WHERE
  table_name = 'myview';

Hasilnya serupa dengan berikut ini:

  +---------------+------------------------------------------------+
  |  table_name   |  last_refresh_time     | refresh_watermark     |
  +---------------+------------------------------------------------+
  |  myview       | 2023-02-22 19:37:17    | 2023-03-08 16:52:57   |
  +---------------+------------------------------------------------+