工作階段簡介
BigQuery 工作階段可讓您擷取 SQL 活動,並在多個查詢之間維持狀態。在工作階段中,您可以定義臨時資料表、臨時函式和變數,並在以互動方式建構查詢或執行多陳述式交易時重複使用。
多個工作階段可以同時處於啟用狀態,BigQuery 會在工作階段結束後,將每個工作階段的記錄儲存最多 20 天。使用工作階段前,請務必熟悉 BigQuery 和 GoogleSQL。
用途
工作階段的常見用途包括:
維護暫時性工作階段資料。定義變數和臨時資料表一次,即可在整個工作階段中使用。
依工作階段查詢歷史記錄。如要追蹤工作階段中特定時間發生的行為,可以查看工作階段期間的變更記錄。
建立多陳述式交易,涵蓋多個查詢。在工作階段中,您可以開始交易、進行變更及查看暫時結果,再決定要提交或復原。您可以在工作階段中透過多個查詢完成這項操作。如果不使用工作階段,則必須在單一查詢中完成多陳述式交易。
定價
使用工作階段不會產生額外費用。
如果專案採用隨選定價模式,對
INFORMATION_SCHEMA執行查詢會產生費用。詳情請參閱INFORMATION_SCHEMA定價。在工作階段中建立暫存資料表會產生費用。儲存費用取決於資料表中儲存的資料量。如要瞭解儲存空間定價,請參閱「儲存空間定價」。
限制
工作階段中的每項查詢都會在工作階段建立的位置執行。如果未指定位置,或無法從建立工作階段的查詢推斷位置,系統會在預設位置建立工作階段。
閒置 24 小時後,工作階段會自動終止。
工作階段會在建立 7 天後自動終止。
工作階段變數的大小上限為 1 MB,工作階段中使用的所有變數大小上限為 10 MB。
工作階段內不得同時執行多項查詢。
角色和權限
本節說明對工作階段執行動作時,所需的 Identity and Access Management (IAM) 權限和 IAM 角色。
| 動作 | 所需權限 | 預設角色 |
|---|---|---|
| 建立新的工作階段。 使用您建立的現有工作階段。 | bigquery.jobs.create |
bigquery.userbigquery.Jobuserbigquery.admin |
| 終止您建立的工作階段。 | bigquery.jobs.create |
bigquery.userbigquery.Jobuserbigquery.admin |
| 終止其他使用者建立的工作階段。 |
bigquery.jobs.createbigquery.jobs.update |
bigquery.admin |
查看專案中的工作階段清單。
這份清單包含您在專案中使用 INFORMATION_SCHEMA.JOBS_BY_USER 建立的工作階段 ID。 |
bigquery.jobs.list |
bigquery.userbigquery.Jobuserbigquery.admin |
查看專案中所有使用者的所有工作階段。
這份清單包含在專案中以 INFORMATION_SCHEMA.JOBS 建立的所有工作階段 ID。 |
bigquery.jobs.listAll |
bigquery.admin
|
使用 INFORMATION_SCHEMA.SESSIONS_BY_USER,查看目前使用者在目前專案中建立的工作階段中繼資料。 |
bigquery.jobs.list |
bigquery.userbigquery.Jobuserbigquery.admin |
使用 INFORMATION_SCHEMA.SESSIONS_BY_PROJECT 查看目前專案中所有工作階段的中繼資料。 |
bigquery.jobs.listAll |
bigquery.admin
|
後續步驟
- 進一步瞭解如何在工作階段中編寫查詢。
- 進一步瞭解如何使用工作階段,包括如何建立、使用、終止及列出工作階段。