INFORMATION_SCHEMA 簡介
BigQuery INFORMATION_SCHEMA 檢視區塊可讓您擷取 BigQuery 物件的中繼資料。您可以查詢這些系統定義的唯讀檢視區塊,分析資料集、工作和存取權控制等資源。
在 BigQuery 中,您可以指定範圍和檢視區塊,使用 GoogleSQL 查詢 INFORMATION_SCHEMA 檢視區塊。舉例來說,如要取得資料集中資料表的中繼資料,請指定 myDataset.INFORMATION_SCHEMA.TABLES。
下表列出可用的檢視畫面:
† 對於 *BY_PROJECT 檢視畫面,BY_PROJECT 後置字串為選用項目。舉例來說,查詢 INFORMATION_SCHEMA.JOBS_BY_PROJECT 和 INFORMATION_SCHEMA.JOBS 會傳回相同的結果。
定價
對於使用以量計價方案的專案,對 INFORMATION_SCHEMA 檢視表執行查詢時,即使查詢所處理的位元組數少於 10 MB,也會產生最少 10 MB 的資料處理費。10 MB 是以量計價查詢的最低收費標準。詳情請參閱「以量計價」。
對於採用容量計價的專案,針對 INFORMATION_SCHEMA 檢視表和資料表執行的查詢會耗用您購買的 BigQuery 運算單元。詳情請參閱以容量為準的定價。
由於 INFORMATION_SCHEMA 查詢並不會快取,因此即使您每次執行 INFORMATION_SCHEMA 查詢時的查詢文字都相同,系統也會向您收費。
系統不會收取 INFORMATION_SCHEMA 資料檢視的儲存費用。
語法
INFORMATION_SCHEMA 檢視畫面必須以資料集或區域做為條件。
資料集限定符
如有資料集限定符,結果會限制為指定資料集。例如:
-- Returns metadata for tables in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.TABLES;
下列 INFORMATION_SCHEMA 檢視畫面支援資料集限定詞:
COLUMNSCOLUMN_FIELD_PATHSMATERIALIZED_VIEWSPARAMETERSPARTITIONSROUTINESROUTINE_OPTIONSTABLESTABLE_OPTIONSVIEWS
區域限定詞
區域限定詞以 region-REGION 語法表示。REGION 可使用任何資料集位置名稱。舉例來說,下列區域限定符皆有效:
region-usregion-asia-east2region-europe-north1
如果提供區域限定符,系統只會傳回指定位置的結果。
區域限定符不具階層性,也就是說,歐盟多區域不包含 europe-* 區域,美國多區域也不包含 us-* 區域。舉例來說,下列查詢會傳回查詢執行所在專案的 US 多區域中所有資料集的中繼資料,但不包括 us-west1 區域中的資料集:
-- Returns metadata for all datasets in the US multi-region. SELECT * FROM region-us.INFORMATION_SCHEMA.SCHEMATA;
下列 INFORMATION_SCHEMA 檢視畫面不支援區域限定詞:
INFORMATION_SCHEMA.PARTITIONSINFORMATION_SCHEMA.SEARCH_INDEXESINFORMATION_SCHEMA.SEARCH_INDEX_COLUMNSINFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS
如果未指定區域限定符或資料集限定符,您會收到錯誤訊息。
針對區域限定 INFORMATION_SCHEMA 檢視區塊執行的查詢,會在您指定的區域中執行,因此您無法撰寫單一查詢,來聯結不同區域中檢視區塊的資料。如要合併多個區域的 INFORMATION_SCHEMA 檢視畫面,請在本地讀取並合併查詢結果,或將產生的資料表複製到通用區域。
專案條件
如有專案限定符,結果會僅限於指定專案。例如:
-- Returns metadata for the specified project and region.
SELECT * FROM myProject.`region-us`.INFORMATION_SCHEMA.TABLES;
-- Returns metadata for the specified project and dataset.
SELECT * FROM myProject.myDataset.INFORMATION_SCHEMA.TABLES;
所有 INFORMATION_SCHEMA 檢視畫面都支援專案限定符。如未指定專案限定符,檢視區塊預設會使用查詢執行的專案。
為機構層級檢視畫面指定專案限定符 (例如 STREAMING_TIMELINE_BY_ORGANIZATION),對結果沒有影響。
限制
- BigQuery
INFORMATION_SCHEMA查詢必須使用 GoogleSQL 語法,INFORMATION_SCHEMA並不支援舊版 SQL。 INFORMATION_SCHEMA查詢結果不會快取。INFORMATION_SCHEMA資料檢視無法用於 DDL 陳述式。INFORMATION_SCHEMA檢視畫面不會包含隱藏資料集的相關資訊。INFORMATION_SCHEMA查詢時若使用區域限定符,可能會納入時間旅行視窗內已刪除資料集中,該區域資源的中繼資料。- 從
INFORMATION_SCHEMA檢視畫面列出資源時,系統只會在父項層級檢查權限,不會在個別列層級檢查。因此,系統會忽略任何使用標記有條件地指定個別資料列的拒絕政策 (預覽)。