邏輯檢視畫面簡介
本文將概述 BigQuery 對邏輯檢視區塊的支援。視圖是 SQL 查詢定義的虛擬表格。BigQuery 的預設檢視類型是邏輯檢視。查詢結果只會包含在定義檢視表的查詢中指定的資料表和欄位資料。
每次查詢檢視表時,都會執行定義檢視表的查詢。
檢視區塊的常見用途包括:
- 為複雜查詢或有限的資料集提供可重複使用的名稱,然後授權其他使用者存取。建立檢視區後,使用者就能像查詢資料表一樣查詢檢視區。
- 在通用物件中抽象化及儲存計算和聯結邏輯,簡化查詢使用方式。
- 提供部分資料和計算邏輯的存取權,但不會提供基礎資料表的存取權。
- 針對運算成本高昂且資料集結果較小的查詢,進行多種用途的最佳化。
您也可以在其他情境中使用檢視畫面:
- 做為 Looker Studio 等視覺化工具的資料來源。
- 用來與 BigQuery sharing (舊稱 Analytics Hub) 的訂閱者共用資料。
如要比較邏輯、具體化和授權檢視區塊,請參閱「邏輯和具體化檢視區塊總覽」。
邏輯檢視畫面限制
BigQuery 資料檢視有下列幾項限制:
- 檢視畫面為唯讀狀態。舉例來說,您無法執行插入、更新或刪除資料的查詢。
- 包含檢視表的資料集,以及包含檢視表參照之資料表的資料集,必須位於同一個位置。
- 檢視區塊內的參照必須以資料集限定。預設資料集不會影響檢視區塊主體。
- 您無法使用
TableDataListJSON API 方法從檢視表擷取資料。詳情請參閱 Tabledata:list 的相關說明。 - 使用檢視表時,不能混用 GoogleSQL 和舊版 SQL 查詢。GoogleSQL 查詢無法參照使用舊版 SQL 語法定義的檢視表。
- 您無法在檢視表中參照查詢參數。
- 建立檢視表時,系統會將基礎資料表的結構定義和檢視表一併儲存。如果在檢視表建立後新增、刪除或修改資料欄,檢視表不會自動更新,且回報的結構定義會維持不正確,直到變更檢視表 SQL 定義或重新建立檢視表為止。不過即使回報的結構定義不正確,所有提交的查詢還是會產生正確的結果。
- 您無法將舊版 SQL 檢視表自動更新為 GoogleSQL 語法。如要修改用來定義檢視表的查詢,可以使用下列項目:
- Google Cloud 控制台中的「編輯查詢」選項
- bq 指令列工具中的
bq update --view指令 - BigQuery 用戶端程式庫
- update 或 patch API 方法。
- 您無法在定義檢視表的 SQL 查詢中加入暫時性使用者定義函式或暫時性資料表。
- 您無法在萬用字元資料表查詢中參照資料檢視。
邏輯檢視配額
如要瞭解檢視畫面適用的配額及限制,請參閱「檢視畫面限制」。用來定義檢視表的 SQL 查詢也會受到查詢工作配額的限制。
邏輯檢視定價
BigQuery 預設使用邏輯檢視表,而非具體化檢視表。 由於檢視表預設不會具體化,每次查詢檢視表時,都會執行定義檢視表的查詢。系統會根據頂層查詢直接或間接參照的所有資料表欄位中的總資料量來計算查詢費用。
邏輯檢視區塊安全性
如要控管 BigQuery 中檢視區塊的存取權,請參閱「授權檢視區塊」。
後續步驟
- 如要瞭解如何建立檢視表,請參閱建立檢視表一文。
- 如要瞭解如何建立授權檢視表,請參閱建立授權檢視表一文。
- 如要瞭解如何取得檢視表中繼資料,請參閱取得檢視表相關資訊一文。
- 如要進一步瞭解如何管理檢視表,請參閱「管理檢視表」。