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