取得資料檢視的相關資訊
本文件說明如何在 BigQuery 中列出檢視表、取得相關資訊,以及查看檢視表的中繼資料。
您可以透過以下方式,列出資料集中的檢視表:
- 使用 Google Cloud 主控台
- 在 bq 指令列工具中使用
bq ls
指令 - 呼叫
tables.list
API 方法 - 使用用戶端程式庫
事前準備
授予身分與存取權管理 (IAM) 角色,讓使用者取得執行本文件中各項工作的必要權限。
清單檢視表
列出檢視表的方法和列出資料表相同。
所需權限
如要列出資料集中的檢視表,您必須具備 bigquery.tables.list
IAM 權限。
以下每個預先定義的 IAM 角色都包含您需要的權限,才能在資料集中列出檢視畫面:
roles/bigquery.user
roles/bigquery.metadataViewer
roles/bigquery.dataViewer
roles/bigquery.dataOwner
roles/bigquery.dataEditor
roles/bigquery.admin
如要進一步瞭解 BigQuery 中的 IAM 角色和權限,請參閱「預先定義的角色與權限」一文。
列出資料集中的檢視表
如何列出資料集中的檢視表:
主控台
在「Explorer」面板中展開專案並選取資料集。
捲動清單來檢視該資料集中的資料表。資料表和檢視表會分別以不同的圖示呈現。
SQL
使用 INFORMATION_SCHEMA.VIEWS
檢視畫面:
前往 Google Cloud 控制台的「BigQuery」頁面。
在查詢編輯器中輸入以下陳述式:
SELECT table_name FROM DATASET_ID.INFORMATION_SCHEMA.VIEWS;
將
DATASET_ID
換成資料集名稱。按一下
「Run」。
如要進一步瞭解如何執行查詢,請參閱「執行互動式查詢」一文。
bq
請發出 bq ls
指令。--format
旗標可用來控制輸出內容。如果您要列出非預設專案中的檢視表,請採用下列格式將專案 ID 新增至資料集:project_id:dataset
。
bq ls --format=pretty project_id:dataset
其中:
- project_id 是您的專案 ID。
- dataset 是資料集名稱。
執行指令時,Type
欄位會顯示 TABLE
或 VIEW
,例如:
+-------------------------+-------+----------------------+-------------------+ | tableId | Type | Labels | Time Partitioning | +-------------------------+-------+----------------------+-------------------+ | mytable | TABLE | department:shipping | | | myview | VIEW | | | +-------------------------+-------+----------------------+-------------------+
範例:
只要輸入下列指令,即可列出預設專案中 mydataset
資料集的檢視表。
bq ls --format=pretty mydataset
只要輸入下列指令,即可列出 myotherproject
中 mydataset
資料集的檢視表。
bq ls --format=pretty myotherproject:mydataset
API
如要使用 API 列出檢視表,請呼叫 tables.list
方法。
Go
在嘗試這個範例之前,請先按照 BigQuery 快速入門:使用用戶端程式庫中的 Go 設定說明進行操作。詳情請參閱 BigQuery Go API 參考說明文件。
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
Python
在嘗試這個範例之前,請先按照 BigQuery 快速入門:使用用戶端程式庫中的 Python 設定說明進行操作。詳情請參閱 BigQuery Python API 參考說明文件。
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
您可以透過以下方式取得檢視表中繼資料:
- 使用 Google Cloud 主控台
- 使用 bq 指令列工具的
bq show
指令 - 呼叫
tables.get
API 方法 - 使用用戶端程式庫
- 查詢
INFORMATION_SCHEMA
檢視畫面
取得檢視表的相關資訊
取得檢視表相關資訊的方法和取得資料表資訊相同。
所需權限
如要取得檢視表的相關資訊,您必須具備 bigquery.tables.get
IAM 權限。
下列每個預先定義的 IAM 角色都包含取得檢視畫面相關資訊所需的權限:
roles/bigquery.metadataViewer
roles/bigquery.dataViewer
roles/bigquery.dataOwner
roles/bigquery.dataEditor
roles/bigquery.admin
此外,如果您具備 bigquery.datasets.create
權限,就能取得您建立的資料集中的檢視表資訊。
如要進一步瞭解 BigQuery 中的 IAM 角色和權限,請參閱「預先定義的角色與權限」一文。
如何取得資料檢視的相關資訊:
主控台
展開資料集。
按一下資料集名稱。
按一下 [Details] (詳細資料)。「Details」(詳細資料) 分頁會顯示檢視表的說明、相關資訊,以及定義該檢視表的 SQL 查詢。
SQL
查詢 INFORMATION_SCHEMA.VIEWS
檢視表。下列範例從 check_option
檢視表擷取了所有資料欄,但保留 check_option
以供未來使用。系統傳回的是預設專案 DATASET_ID 中所有檢視表的中繼資料:
前往 Google Cloud 控制台的「BigQuery」頁面。
在查詢編輯器中輸入以下陳述式:
SELECT * EXCEPT (check_option) FROM DATASET_ID.INFORMATION_SCHEMA.VIEWS;
將
DATASET_ID
換成資料集名稱。按一下
「Run」。
如要進一步瞭解如何執行查詢,請參閱「執行互動式查詢」一文。
bq
請發出 bq show
指令。--format
旗標可用來控管輸出。如果您要取得預設專案以外的專案檢視表相關資訊,請使用下列格式將專案 ID 新增至資料集:[PROJECT_ID]:[DATASET]
。
bq show \ --format=prettyjson \ project_id:dataset.view
其中:
- project_id 是您的專案 ID。
- dataset 是資料集名稱。
- view 是視圖的名稱。
範例:
輸入下列指令,系統即會顯示您預設專案中 mydataset
資料集中的 myview
相關資訊。
bq show --format=prettyjson mydataset.myview
輸入下列指令,系統即會顯示 myotherproject
中 mydataset
資料集中的 myview
相關資訊。
bq show --format=prettyjson myotherproject:mydataset.myview
API
呼叫 tables.get
方法,並提供所有相關參數。
Go
在嘗試這個範例之前,請先按照 BigQuery 快速入門:使用用戶端程式庫中的 Go 設定說明進行操作。詳情請參閱 BigQuery Go API 參考說明文件。
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
Java
在嘗試這個範例之前,請先按照 BigQuery 快速入門:使用用戶端程式庫中的 Java 設定說明進行操作。詳情請參閱 BigQuery Java API 參考說明文件。
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
Node.js
在嘗試這個範例之前,請先按照 BigQuery 快速入門:使用用戶端程式庫中的 Node.js 設定說明進行操作。詳情請參閱 BigQuery Node.js API 參考說明文件。
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
Python
在嘗試這個範例之前,請先按照 BigQuery 快速入門:使用用戶端程式庫中的 Python 設定說明進行操作。詳情請參閱 BigQuery Python API 參考說明文件。
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
查看安全性
如要控管 BigQuery 中的檢視表存取權,請參閱「授權檢視表」。
後續步驟
- 如要瞭解如何建立檢視表,請參閱建立檢視表一文。
- 如要瞭解如何建立授權檢視表,請參閱建立授權檢視表。
- 如要瞭解管理檢視表的詳情,請參閱管理檢視表一文。
- 如要查看
INFORMATION_SCHEMA
的總覽,請前往 BigQueryINFORMATION_SCHEMA
簡介頁面。