生成資料集洞察資料
本文說明如何為 BigQuery 資料集產生資料集洞察。資料集洞察功能會產生關係圖和跨資料表查詢,協助您瞭解資料集內資料表之間的關係。
資料集洞察功能可自動探索資料表之間的關係,並以圖表呈現,找出主鍵和外鍵關係,以及產生跨資料表查詢範例,協助您加快探索含有多個資料表的資料集。這項功能有助於瞭解資料結構 (無須文件)、探索結構定義的資料表關係 (以使用情況為準或由 AI 推斷),以及產生彙整多個資料表的複雜查詢。
如要瞭解資料表和資料集洞察資料的總覽,請參閱「資料洞察總覽」。
產生資料集洞察資訊的模式
產生資料集洞察時,BigQuery 提供兩種模式:
| 模式 | 說明 | 用量 |
|---|---|---|
| 生成並發布 |
將產生的資料集洞察資訊以中繼資料切面和關係的形式,保存到 Knowledge Catalog。您必須具備發布權限,使用「產生並發布」時,BigQuery 會執行下列動作:
|
如要建立可重複使用的企業級資料文件,或是建構以目錄為導向的治理工作流程,請使用這個模式。 |
| 生成但不發布 |
視需要建立資料集洞察,例如說明、自然語言問題、關係和 SQL 查詢。「生成但不發布」不會將洞察資訊發布至 Knowledge Catalog。 |
使用這個模式進行快速的臨時探索,避免目錄雜亂。 |
事前準備
資料洞察資訊是使用 Gemini in BigQuery 生成。 如要開始生成洞察,請先設定 Gemini in BigQuery。
啟用 API
如要使用資料洞察功能,請在專案中啟用下列 API:Dataplex API、BigQuery API 和 Gemini for Google Cloud API。
啟用 API 時所需的角色
如要啟用 API,您需要服務使用情形管理員 IAM 角色 (roles/serviceusage.serviceUsageAdmin),其中包含 serviceusage.services.enable 權限。瞭解如何授予角色。
如要進一步瞭解如何啟用 Gemini for Google Cloud API,請參閱「在專案中啟用 Gemini for Google Cloud API Google Cloud 」。
完成資料剖析掃描
如要提升洞察品質,請為資料集中的資料表產生資料剖析掃描作業。
必要的角色
如要取得產生、管理及擷取資料集洞察所需的權限,請要求管理員授予您下列 IAM 角色:
-
如要產生、管理及擷取洞察資訊,請按照下列步驟操作:
- 專案的 Dataplex DataScan 編輯者 (
roles/dataplex.dataScanEditor) 或 Dataplex DataScan 管理員 (roles/dataplex.dataScanAdmin) - BigQuery 資料編輯者 (
roles/bigquery.dataEditor) 資料表 - 專案的 BigQuery 使用者 (
roles/bigquery.user) 或 BigQuery Studio 使用者 (roles/bigquery.studioUser) - BigQuery 資源檢視者 (
roles/bigquery.resourceViewer) 專案
- 專案的 Dataplex DataScan 編輯者 (
-
查看洞察資料:
- 專案的 Dataplex DataScan 資料檢視者 (
roles/dataplex.dataScanDataViewer) - 資料集上的 BigQuery 資料檢視者
roles/bigquery.dataViewer
- 專案的 Dataplex DataScan 資料檢視者 (
-
如要將洞察資料發布至 Knowledge Catalog:
Dataplex 項目和 EntryLink 擁有者 (
roles/dataplex.entryOwner) 項目群組
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
如要查看生成洞察資料所需的確切權限,請展開「必要權限」部分:
所需權限
bigquery.datasets.get:讀取資料集中繼資料bigquery.jobs.create:建立工作bigquery.jobs.listAll:列出專案中的所有作業bigquery.tables.get:取得資料表中繼資料bigquery.tables.getData:取得資料表資料和中繼資料dataplex.datascans.create:建立 DataScan 資源dataplex.datascans.get:讀取 DataScan 資源中繼資料dataplex.datascans.getData:讀取 DataScan 執行結果dataplex.datascans.run:隨選執行 DataScandataplex.entryGroups.useSchemaJoinEntryLink:使用schema-join項目連結dataplex.entryGroups.useSchemaJoinAspect:使用結構定義聯結構面dataplex.entryLinks.create:建立項目連結dataplex.entryLinks.update:更新項目連結dataplex.entryLinks.delete:刪除項目連結dataplex.entries.link:連結項目dataplex.entries.update:更新項目dataplex.entryGroups.useDescriptionsAspect:使用說明切面dataplex.entryGroups.useQueriesAspect:使用查詢切面
生成資料集洞察資料
控制台
前往 Google Cloud 控制台的「BigQuery Studio」。
在「Explorer」窗格中,選取要產生洞察資料的專案和資料集。
按一下「洞察」分頁標籤。
如要生成洞察資料並發布至 Knowledge Catalog,請按一下「生成並發布」。
如要生成洞察資訊,但不發布至 Knowledge Catalog,請按一下「生成但不發布」。
如要進一步瞭解「產生並發布」和「產生但不發布」模式的差異,請參閱「產生資料集洞察資料的模式」。
如果資料集位於多區域,系統可能會提示您選取要產生洞察資訊的區域。請依據要建立洞察資訊掃描作業的多區域,選取相應的區域。
洞察資料需要幾分鐘才會填入。如果資料集中的資料表有資料剖析結果,深入分析的品質就會提升。
產生洞察後,BigQuery 會顯示資料集說明、關係圖、關係表,以及跨資料表查詢範例。
REST
如要以程式輔助方式產生洞察資料,請使用 Knowledge Catalog DataScans API。如要這樣做,請按照下列步驟進行:
為 BigQuery 資料集產生資料文件資料掃描
使用
dataScans.create方法建立資料文件資料掃描作業。您可以選擇將這些洞察資料發布至 Knowledge Catalog,方法是將catalog_publishing_enabled參數設為true。例如:
alias gcurl='curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json"' gcurl -X POST \ https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/\ dataScans?dataScanId=DATASCAN_ID \ -d '{ "data": { "resource": "//bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID" }, "executionSpec": { "trigger": { "onDemand": {} } }, "type": "DATA_DOCUMENTATION", "dataDocumentationSpec": { "catalog_publishing_enabled": true } }'更改下列內容:
- PROJECT_ID:資料集所在的 Google Cloud專案 ID
- LOCATION:執行資料掃描的區域
- DATASCAN_ID:您為這項掃描作業提供的專屬名稱
- DATASET_ID:要掃描的 BigQuery 資料集 ID
使用
dataScans.run方法啟動資料文件掃描工作。例如:
gcurl -X POST \ https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/\ dataScans/DATASCAN_ID:run這項要求會傳回專屬工作 ID 和初始狀態。
查看資料文件掃描狀態
使用 dataScans.get 方法檢查掃描工作是否完成。
如要擷取完整結果,包括洞察資料和發布狀態,請將 view 參數設為 FULL。
使用工作 ID 擷取工作狀態。例如:
gcurl -X GET https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataScans/DATASCAN_ID/jobs/JOB_ID?view=FULL
狀態為 SUCCEEDED 或 FAILURE 時,工作即完成。
成功的回應會包含 dataDocumentationResult 欄位中產生的洞察資料。
確認發布至 Knowledge Catalog
如果 catalog_publishing_enabled 設為 true,資料掃描工作完成後,洞察資訊會非同步發布至 Knowledge Catalog。如要確認洞察資訊是否已保存,請使用 Dataplex API 檢查資料集的各個層面。
雖然洞察資料是從資料集層級的資料掃描產生,但產生的項目連結會儲存在連結的資料表之間。如要驗證這些關係,請使用 lookupEntryLinks 方法,擷取與特定表格項目相關聯的項目連結。
如要擷取 BigQuery 資料集的 metadata,請使用 entries.get 方法。如要納入所有層面,請將 view 參數設為 FULL。例如:
gcurl -X GET https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/entryGroups/@bigquery/entries/bigquery.googleapis.com/projects/DATASET_PROJECT_ID/datasets/DATASET_ID?view=FULL
更改下列內容:
- PROJECT_ID:設定 DataScan 的 Google Cloud專案 ID
- LOCATION:項目群組所在的區域
- DATASET_PROJECT_ID:BigQuery 資料集所在的 Google Cloud專案 ID
- DATASET:BigQuery 資料集的 ID
如果成功發布至 Knowledge Catalog,系統會將下列項目附加至 BigQuery 資料集:
- 說明:包含資料集的 AI 生成說明
- 查詢:包含與資料集相關的 SQL 查詢
- 關係:以資料集中資料表之間的項目連結形式保存
查看及儲存資料集說明
Gemini 會生成資料集的自然語言說明,摘要說明資料集包含的資料表類型,以及代表的業務領域。如要將這段說明儲存至資料集的中繼資料,請按一下「儲存至詳細資料」。
儲存詳細資料前,你可以先編輯說明。
探索關係圖
「關係」圖表會以視覺化方式呈現資料集中資料表之間的關係。系統會以節點形式顯示前 10 個最常連結的資料表,並以線條代表資料表之間的關係。
- 如要查看關係詳細資料,例如連結兩個資料表的資料欄,請將滑鼠游標懸停在連結資料表節點的邊緣上。
- 如要重新排列圖表,方便查看,請拖曳表格節點。
使用關係表
關係表格會以表格格式列出探索到的關係。每一列代表兩個資料表之間的關係,顯示來源資料表和資料欄,以及目的地資料表和資料欄。「來源」欄會顯示關係的判斷方式:
- LLM 推斷。Gemini 根據資料集中的資料表和資料欄名稱與說明推斷出的關係。
- 按用量計費:根據常見的聯結,從查詢記錄中擷取的關係。
- 結構定義。從資料表結構定義中現有的主鍵和外鍵對應項目衍生而來的關係。
您可以篩選特定資料表的關係,或針對偵測到的關係品質提供意見。如要將產生的資料集說明和關係匯出為 JSON 檔案,請按一下「以 JSON 格式匯出」。
使用查詢建議
Gemini 會根據發現的關係生成查詢範例。這些是自然語言問題,以及對應的 SQL 查詢,可聯結資料集中的多個資料表。
如要查看 SQL 查詢,請按一下問題。
如要在 BigQuery 查詢編輯器中開啟查詢,請按一下「複製到查詢」。然後執行或修改查詢。
如要提出後續查詢,請按一下Ask a follow-up,開啟未命名的資料畫布,與 Gemini 對話以探索資料。
管理生成的洞察
為資料集產生洞察後,您可以在 Knowledge Catalog 中管理、更新或刪除洞察。詳情請參閱「管理資料集洞察」。
後續步驟
- 瞭解資料洞察總覽。
- 瞭解如何生成表格洞察。
- 進一步瞭解 Knowledge Catalog 資料剖析。