管理設定
本文件說明如何在組織或專案層級指定及擷取 BigQuery 設定。
舉例來說,您可以使用這項服務設定預設工作設定,以利管理工作。預設設定會在機構或專案層級設定,但可在工作階段或工作層級覆寫。您可以搭配相關的機構政策設定預設值,以便強制執行預設行為。
配置設定
您可以指定下列設定:
default_batch_query_queue_timeout_ms
:批次查詢排入佇列的預設時間長度,以毫秒為單位。如未設定,預設值為 24 小時。最短 1 毫秒,最長 48 小時。如要停用批次查詢佇列功能,請將值設為 -1。default_column_name_character_map
:資料欄名稱字元的預設範圍和處理方式。如未設定,載入的工作資料欄名稱含有不支援的字元時就會失敗,並出現錯誤訊息。某些較舊的資料表可能已設為替換資料欄名稱中不支援的字元。詳情請參閱load_option_list
的說明。default_interactive_query_queue_timeout_ms
:互動式查詢排入佇列的預設時間長度,以毫秒為單位。如未設定,預設值為 6 小時。最短 1 毫秒,最長 48 小時。如要停用互動式查詢佇列功能,請將值設為 -1。default_kms_key_name
:用於加密資料表資料 (包括暫時性或匿名資料表) 的預設 Cloud Key Management Service 金鑰。詳情請參閱「客戶管理的 Cloud KMS 金鑰」。default_query_job_timeout_ms
:查詢工作逾時的預設時間,包括工作排入佇列的時間和執行所需的時間。逾時時間必須介於 5 分鐘至 6 小時之間。這項逾時時間只適用於個別查詢工作,以及指令碼的子工作。如要為指令碼工作設定逾時,請使用 jobs.insert API 方法並設定jobTimeoutMs
欄位。default_query_optimizer_options
:以歷史資料為基礎的查詢最佳化。這個選項可以是下列任一值:'adaptive=on'
:使用以歷史資料為依據的查詢最佳化功能。'adaptive=off'
:請勿使用以歷來資料為基礎的查詢最佳化功能。NULL
(預設):使用預設的以歷史資料為基礎的查詢最佳化設定,等同於'adaptive=off'
。
default_time_zone
:在受時區影響的 SQL 函式中,如未指定時區做為引數,就會使用這個預設時區。這項設定不會套用至時間單位資料欄分區資料表 (以世界標準時間做為時區)、Storage 移轉服務排定移轉作業,或是使用 bq 指令列工具載入資料的情況。詳情請參閱「時區」。default_storage_billing_model
:新資料集的預設儲存空間計費模式。如要計算儲存空間費用,請將值設為 PHYSICAL 以使用實體位元組,如要使用邏輯位元組,請將值設為 LOGICAL。請注意,變更預設儲存空間計費模式不會影響現有資料集。詳情請參閱「儲存空間計費模式」。default_max_time_travel_hours
:新資料集的預設時間回溯期 (以小時為單位)。這個時間長度必須介於 48 到 168 小時之間 (含首尾),且必須能被 24 整除。變更預設的最大時間移動小時數不會影響現有資料集。詳情請參閱「時光旅行」。default_cloud_resource_connection_id
:建立資料表和模型時使用的預設連線。只需指定連線的 ID 或名稱,並排除附加的專案 ID 和區域前置字元。使用預設連線時,系統會根據您建立的資料表或模型類型,更新授予連線服務帳戶的權限。詳情請參閱「預設連線總覽」。default_sql_dialect_option
:使用 bq 指令列工具或 BigQuery API 執行查詢工作的預設 SQL 查詢方言。變更這項設定不會影響控制台的預設方言。這個選項可以是下列任一值:'default_legacy_sql'
(預設值):如果未在工作層級指定查詢方言,則使用舊版 SQL。'default_google_sql'
:如果未在工作層級指定查詢方言,請使用 GoogleSQL。'only_google_sql'
:如果未在工作層級指定查詢方言,請使用 GoogleSQL。拒絕將查詢方言設為舊版 SQL 的工作。NULL
:使用預設查詢方言設定,等同於'default_legacy_sql'
。
enable_reservation_based_fairness
:這個選項可決定如何共用閒置的空格。預設值為 false,表示空白運算單元會平均分配給所有查詢專案。啟用後,系統會先將閒置運算單元平均分配給所有預留項目,然後再分配給預留項目中的各個專案。詳情請參閱「以預留為準的平衡機制」。這個選項僅支援專案層級。您無法在機構或工作層級指定此值。
指定設定
本節說明如何指定設定。
所需權限
如要指定設定,您必須具備 bigquery.config.update
身分與存取權管理 (IAM) 權限。預先定義的 IAM 角色 roles/bigquery.admin
包含指定設定所需的權限。
如要進一步瞭解 BigQuery 中的 IAM 角色和權限,請參閱「預先定義的角色與權限」一文。
調整設定
您可以使用下列 SQL 陳述式,在機構或專案層級設定設定。指定設定時,您必須指定適用的區域。每個陳述式只能使用一個區域。
設定機構設定
如要設定機構設定,請使用 ALTER ORGANIZATION SET OPTIONS
DDL 陳述式。以下範例將預設時區設為 America/Chicago
,預設 Cloud KMS 金鑰設為使用者定義的金鑰,預設查詢逾時時間設為 30 分鐘,預設互動式查詢佇列逾時時間設為 10 分鐘,預設批次查詢佇列逾時時間設為 20 分鐘:
ALTER ORGANIZATION SET OPTIONS ( `region-REGION.default_time_zone`= 'America/Chicago', -- Ensure all service accounts under the organization have permission to KMS_KEY `region-REGION.default_kms_key_name` = KMS_KEY, `region-REGION.default_query_job_timeout_ms` = 1800000, `region-REGION.default_interactive_query_queue_timeout_ms` = 600000, `region-REGION.default_batch_query_queue_timeout_ms` = 1200000, `region-REGION.default_storage_billing_model`= PHYSICAL, `region-REGION.default_max_time_travel_hours` = 72);
更改下列內容:
- REGION:與專案或機構相關聯的區域。例如
us
或europe-west6
。 - KMS_KEY:使用者定義的 Cloud KMS 金鑰。如要進一步瞭解 Cloud KMS 金鑰,請參閱「客戶管理的 Cloud KMS 金鑰」。
以下範例會清除所有機構層級的預設設定:
ALTER ORGANIZATION SET OPTIONS ( `region-REGION.default_time_zone` = NULL, `region-REGION.default_kms_key_name` = NULL, `region-REGION.default_query_job_timeout_ms` = NULL, `region-REGION.default_interactive_query_queue_timeout_ms` = NULL, `region-REGION.default_batch_query_queue_timeout_ms` = NULL, `region-REGION.default_storage_billing_model`= NULL, `region-REGION.default_max_time_travel_hours` = NULL);
配置專案設定
如要設定專案設定,請使用 ALTER PROJECT SET OPTIONS
DDL 陳述式。ALTER PROJECT SET OPTIONS
DDL 陳述式可選擇接受 PROJECT_ID
變數。如果未指定 PROJECT_ID
,系統會預設為執行查詢的目前專案。以下範例會將預設時區設為 America/Los_Angeles
、預設 Cloud KMS 金鑰設為範例金鑰、預設查詢逾時時間設為 1 小時、預設互動式查詢佇列逾時時間設為 10 分鐘、預設批次查詢佇列逾時時間設為 20 分鐘,並啟用公平的預留功能。
ALTER PROJECT PROJECT_ID SET OPTIONS ( `region-REGION.default_time_zone` = 'America/Los_Angeles', -- Ensure all service accounts under the project have permission to KMS_KEY `region-REGION.default_kms_key_name` = KMS_KEY, `region-REGION.default_query_job_timeout_ms` = 3600000, `region-REGION.default_interactive_query_queue_timeout_ms` = 600000, `region-REGION.default_batch_query_queue_timeout_ms` = 1200000, `region-REGION.default_storage_billing_model`= PHYSICAL, `region-REGION.default_max_time_travel_hours` = 72, `region-REGION.default_cloud_resource_connection_id` = CONNECTION_ID, `region-REGION.default_sql_dialect_option` = 'default_google_sql', `region-REGION.enable_reservation_based_fairness` = true);
更改下列內容:
- PROJECT_ID:專案 ID。
- REGION:與專案或機構相關聯的區域。例如
us
或europe-west6
。 - KMS_KEY:使用者定義的 Cloud KMS 金鑰。如要進一步瞭解 Cloud KMS 金鑰,請參閱「客戶管理的 Cloud KMS 金鑰」。
- CONNECTION_ID:用於做為資料表和模型的預設連線的連線 ID。
以下範例會清除所有專案層級的預設設定。預設設定會使用任何機構層級的預設設定 (如有)。否則,所有預設設定都會設為全域預設值。
ALTER PROJECT PROJECT_ID SET OPTIONS ( `region-REGION.default_time_zone` = NULL, `region-REGION.default_kms_key_name` = NULL, `region-REGION.default_query_job_timeout_ms` = NULL, `region-REGION.default_interactive_query_queue_timeout_ms` = NULL, `region-REGION.default_batch_query_queue_timeout_ms` = NULL, `region-REGION.default_storage_billing_model`= NULL, `region-REGION.default_max_time_travel_hours` = NULL, `region-REGION.default_cloud_resource_connection_id` = NULL, `region-REGION.default_sql_dialect_option` = NULL);
專案層級設定會覆寫組織層級設定。專案層級設定可由工作階段層級設定覆寫,而工作階段層級設定可由工作層級設定覆寫。
擷取設定
您可以使用下列資訊結構定義檢視機構或專案的設定:
INFORMATION_SCHEMA.PROJECT_OPTIONS
:套用至專案的設定INFORMATION_SCHEMA.EFFECTIVE_PROJECT_OPTIONS
:套用至專案的有效設定。有效設定包括在專案層級設定的所有設定,以及專案從機構繼承的所有設定INFORMATION_SCHEMA.ORGANIZATION_OPTIONS
:套用至機構的設定
新設定可能需要幾分鐘才會生效,並在 INFORMATION_SCHEMA
檢視畫面中顯示。
所需權限
如要擷取設定,您必須擁有指定專案的 bigquery.config.get
IAM 權限。
以下每個預先定義的 IAM 角色都包含從 INFORMATION_SCHEMA
檢視畫面取得設定所需的權限:
roles/bigquery.jobUser
roles/bigquery.dataEditor
roles/bigquery.dataUser
如要進一步瞭解 BigQuery 中的 IAM 角色和權限,請參閱「預先定義的角色與權限」一文。
範例
如要查看 us
區域中機構下的設定,請執行下列查詢:
SELECT * FROM region-us.INFORMATION_SCHEMA.ORGANIZATION_OPTIONS;
如要查看 us
區域中預設專案下的有效設定,請執行下列查詢:
SELECT * FROM region-us.INFORMATION_SCHEMA.EFFECTIVE_PROJECT_OPTIONS;
如要查看 us
區域中預設專案下的設定,請執行下列查詢:
SELECT * FROM region-us.INFORMATION_SCHEMA.PROJECT_OPTIONS;
定價
使用 BigQuery 設定服務不需額外付費。詳情請參閱「定價」。