TABLE_OPTIONS 檢視表
INFORMATION_SCHEMA.TABLE_OPTIONS
檢視表會針對資料集中的每個資料表或檢視表,為每個選項列出一個資料列。TABLES
和 TABLE_OPTIONS
檢視表也包含檢視表的相關高階資訊。如需詳細資訊,請查詢 INFORMATION_SCHEMA.VIEWS
檢視區塊。
所需權限
如要查詢 INFORMATION_SCHEMA.TABLE_OPTIONS
檢視畫面,您必須具備下列身分與存取權管理 (IAM) 權限:
bigquery.tables.get
bigquery.tables.list
bigquery.routines.get
bigquery.routines.list
以下每個預先定義的 IAM 角色都包含上述權限:
roles/bigquery.admin
roles/bigquery.dataViewer
roles/bigquery.metadataViewer
如要進一步瞭解 BigQuery 權限,請參閱「使用身分與存取權管理功能控管存取權」。
結構定義
查詢 INFORMATION_SCHEMA.TABLE_OPTIONS
檢視表時,查詢結果會針對資料集中的每個資料表或檢視表,為每個選項分別列出一個資料列。如需檢視項目的詳細資訊,請改為查詢 INFORMATION_SCHEMA.VIEWS
檢視項目。
INFORMATION_SCHEMA.TABLE_OPTIONS
檢視表具有下列結構定義:
資料欄名稱 | 資料類型 | 值 |
---|---|---|
TABLE_CATALOG |
STRING |
包含資料集的專案 ID |
TABLE_SCHEMA |
STRING |
資料表或檢視表所屬資料集的名稱 (又稱為 datasetId ) |
TABLE_NAME |
STRING |
資料表或檢視表的名稱 (又稱為 tableId ) |
OPTION_NAME |
STRING |
選項表格中的其中一個名稱值 |
OPTION_TYPE |
STRING |
選項表格中的其中一個資料類型值 |
OPTION_VALUE |
STRING |
選項表格中的其中一個值選項 |
選項表格
|
|
|
---|---|---|
|
|
資料表的說明 |
|
|
是否為具體化檢視表啟用自動重新整理功能 |
|
|
這個資料表的到期時間 |
|
|
資料表的描述性名稱 |
|
|
用來加密資料表的 Cloud KMS 金鑰名稱 |
|
|
代表資料表標籤的 STRUCT 陣列 |
|
|
分區資料表中所有分區的預設生命週期 (以天為單位) |
|
|
重新整理具體化檢視表的頻率 |
|
|
查詢資料表時是否需要分區篩選器 |
|
|
在命名空間限定的 <key, value> 語法中,附加至資料表的標記。詳情請參閱「標記和條件式存取」。 |
針對外部資料表,您可以使用下列選項:
選項 | |
---|---|
allow_jagged_rows |
如果為 適用於 CSV 資料。 |
allow_quoted_newlines |
如果是 適用於 CSV 資料。 |
bigtable_options |
僅適用於建立 Bigtable 外部資料表。 以 JSON 格式指定 Bigtable 外部資料表的結構定義。 如需 Bigtable 資料表定義選項清單,請參閱 REST API 參考資料中的 |
column_name_character_map |
定義支援的資料欄名稱字元範圍,以及如何處理不支援的字元。預設設定為 支援的值包括:
適用於 CSV 和 Parquet 資料。 |
compression |
資料來源的壓縮類型。支援的值包括: 適用於 CSV 和 JSON 資料。 |
decimal_target_types |
決定轉換 範例: |
description |
這個資料表的說明。 |
enable_list_inference |
如果是 適用於 Parquet 資料。 |
enable_logical_types |
如果為 適用於 Avro 資料。 |
encoding |
資料的字元編碼。支援的值包括: 適用於 CSV 資料。 |
enum_as_string |
如果為 適用於 Parquet 資料。 |
expiration_timestamp |
這個資料表的到期時間。如未指定,資料表就不會過期。 範例: |
field_delimiter |
CSV 檔案中的欄位分隔符。 適用於 CSV 資料。 |
format |
外部資料的格式。
值 |
hive_partition_uri_prefix |
分區索引鍵編碼開始前,所有來源 URI 的通用前置字串。僅適用於以 Hive 分區的外部資料表。 適用於 Avro、CSV、JSON、Parquet 和 ORC 資料。 範例: |
file_set_spec_type |
指定如何解讀載入工作和外部資料表的來源 URI。 支援的值包括:
舉例來說,如果來源 URI 為 |
ignore_unknown_values |
如果為 適用於 CSV 和 JSON 資料。 |
json_extension |
針對 JSON 資料,表示特定的 JSON 交換格式。如果未指定,BigQuery 會將資料讀取為一般 JSON 記錄。 支援的值包括: |
max_bad_records |
讀取資料時可忽略的錯誤記錄數量上限。 適用於:CSV、JSON 和 Google 試算表資料。 |
max_staleness |
適用於 BigLake 資料表和物件資料表。 指定作業是否會使用針對資料表的快取中繼資料,以及作業必須使用多新鮮的快取中繼資料。 如要停用中繼資料快取功能,請指定 0。這是目前的預設做法。 如要啟用中繼資料快取功能,請指定介於 30 分鐘至 7 天之間的 間隔文字常值。例如,指定 |
null_marker |
代表 CSV 檔案中 適用於 CSV 資料。 |
object_metadata |
只有在建立物件資料表時才需要。 建立物件資料表時,請將這個選項的值設為 |
preserve_ascii_control_characters |
如果是 適用於 CSV 資料。 |
projection_fields |
要載入的實體屬性清單。 適用於 Datastore 資料。 |
quote |
在 CSV 檔案中用來引用資料區段的字串。如果資料包含引用的換行符號字元,請將 適用於 CSV 資料。 |
reference_file_schema_uri |
使用者提供的參考檔案,其中包含資料表結構定義。 適用於 Parquet/ORC/AVRO 資料。 範例: |
require_hive_partition_filter |
如果為 適用於 Avro、CSV、JSON、Parquet 和 ORC 資料。 |
sheet_range |
要查詢的 Google 試算表試算表範圍。 適用於 Google 試算表資料。 例如: |
skip_leading_rows |
讀取資料時,要略過檔案開頭的列數。 適用於 CSV 和 Google 試算表資料。 |
tags |
<ARRAY<STRUCT<STRING, STRING>>>
|
time_zone |
(預覽) 如果剖析的時間戳記值沒有特定時區,就會採用這個預設時區。 請查看有效的時區名稱。 如果沒有這個值,則會使用預設時區 (UTC) 剖析沒有特定時區的時間戳記值。 適用於 CSV 和 JSON 資料。 |
date_format |
(預覽)
格式元素,可定義輸入檔案中的 DATE 值格式 (例如 如果存在這個值,這個格式是唯一相容的日期格式。結構定義自動偵測功能也會根據這個格式,而非現有格式,決定 DATE 欄的類型。 如果沒有這個值,系統會使用預設格式剖析日期欄位。 適用於 CSV 和 JSON 資料。 |
datetime_format |
(預覽)
格式元素,可定義輸入檔案中的 DATETIME 值格式 (例如 如果存在這個值,這個格式是唯一相容的 DATETIME 格式。結構定義自動偵測功能也會根據這個格式,而非現有格式,決定 DATETIME 欄類型。 如果沒有這個值,系統會使用預設格式剖析 DATETIME 欄位。 適用於 CSV 和 JSON 資料。 |
time_format |
(預覽)
格式元素,可定義輸入檔案中的 TIME 值格式 (例如 如果存在這個值,這個格式是唯一相容的 TIME 格式。結構定義自動偵測功能也會根據這個格式,而非現有格式,決定 TIME 欄的類型。 如果沒有這個值,系統會使用預設格式剖析 TIME 欄位。 適用於 CSV 和 JSON 資料。 |
timestamp_format |
(預覽)
格式元素,可定義輸入檔案中的 TIMESTAMP 值格式 (例如 如果存在這個值,這個格式是唯一相容的 TIMESTAMP 格式。結構定義自動偵測功能也會根據這個格式,而非現有格式,決定 TIMESTAMP 欄類型。 如果沒有這個值,系統會使用預設格式剖析 TIMESTAMP 欄位。 適用於 CSV 和 JSON 資料。 |
uris |
針對非 Bigtable 資料表的外部資料表 (包括物件資料表):
外部資料位置的完整 URI 陣列。每個 URI 可包含一個星號 ( 以下範例顯示有效的
針對 Bigtable 資料表:
這個 URI 會標示要用來做為資料來源的 Bigtable 資料表。您只能指定一個 Bigtable URI。 示例:
如要進一步瞭解如何建構 Bigtable URI,請參閱「擷取 Bigtable URI」。 |
範圍和語法
對這個檢視表執行的查詢必須包含資料集或區域限定詞。如果查詢含有資料集限定條件,您必須具備該資料集的權限。如果查詢包含區域限定條件,您必須具備專案權限。詳情請參閱「語法」。下表說明這個檢視畫面的區域和資源範圍:
檢視表名稱 | 資源範圍 | 區域範圍 |
---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.TABLE_OPTIONS |
專案層級 | REGION |
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.TABLE_OPTIONS |
資料集層級 | 資料集位置 |
-
選用:
PROJECT_ID
: Google Cloud 專案的 ID。如果未指定,系統會使用預設專案。 -
REGION
:任一資料集區域名稱。例如:`region-us`
。 -
DATASET_ID
:資料集 ID。詳情請參閱「資料集限定詞」。
範例
範例 1:
下列範例會透過查詢 INFORMATION_SCHEMA.TABLE_OPTIONS
檢視表,擷取預設專案 (myproject
) 中 mydataset
內所有資料表的預設資料表到期時間。
如要對預設專案以外的專案執行查詢,請使用以下格式將專案 ID 新增至資料集:`project_id`.dataset.INFORMATION_SCHEMA.view
;例如 `myproject`.mydataset.INFORMATION_SCHEMA.TABLE_OPTIONS
。
SELECT * FROM mydataset.INFORMATION_SCHEMA.TABLE_OPTIONS WHERE option_name = 'expiration_timestamp';
結果大致如下:
+----------------+---------------+------------+----------------------+-------------+--------------------------------------+ | table_catalog | table_schema | table_name | option_name | option_type | option_value | +----------------+---------------+------------+----------------------+-------------+--------------------------------------+ | myproject | mydataset | mytable1 | expiration_timestamp | TIMESTAMP | TIMESTAMP "2020-01-16T21:12:28.000Z" | | myproject | mydataset | mytable2 | expiration_timestamp | TIMESTAMP | TIMESTAMP "2021-01-01T21:12:28.000Z" | +----------------+---------------+------------+----------------------+-------------+--------------------------------------+
範例 2:
以下範例會擷取 mydataset
中包含測試資料的所有資料表相關中繼資料。此查詢使用 description
選項中的值來尋找說明中的任意位置包含「test」的資料表。mydataset
在您的預設專案 (myproject
) 中。
如要對預設專案以外的專案執行查詢,請使用以下格式將專案 ID 新增至資料集:`project_id`.dataset.INFORMATION_SCHEMA.view
;例如 `myproject`.mydataset.INFORMATION_SCHEMA.TABLE_OPTIONS
。
SELECT * FROM mydataset.INFORMATION_SCHEMA.TABLE_OPTIONS WHERE option_name = 'description' AND option_value LIKE '%test%';
結果大致如下:
+----------------+---------------+------------+-------------+-------------+--------------+ | table_catalog | table_schema | table_name | option_name | option_type | option_value | +----------------+---------------+------------+-------------+-------------+--------------+ | myproject | mydataset | mytable1 | description | STRING | "test data" | | myproject | mydataset | mytable2 | description | STRING | "test data" | +----------------+---------------+------------+-------------+-------------+--------------+