本文說明如何產生、查看及管理結構化資料的資料洞察。運用 AI 輔助資料洞察功能,從資料表和資料集的中繼資料自動生成說明、關係圖和 SQL 查詢,加速探索資料。
在 BigQuery Studio 中,您可以為 BigQuery 資料集、資料表、檢視區塊、 Google Cloud Lakehouse 資料表和 BigQuery 外部資料表產生資料洞察,
在 Knowledge Catalog 中,您可以為 Lakehouse Iceberg REST 目錄資料表產生資料洞察。
事前準備
使用資料洞察前,請務必完成下列先決條件:
必要的角色
如要取得使用資料洞察所需的權限,請要求管理員授予下列 IAM 角色:
-
取得所產生洞察資料的唯讀存取權:資源所在專案的 Dataplex DataScan 資料檢視者 (
roles/dataplex.dataScanDataViewer) -
讀取 Iceberg REST 目錄資料表資料:
資源上的 BigLake 檢視者 (
roles/biglake.viewer) -
將說明發布為切面:資源的 Dataplex Catalog 編輯者 (
roles/dataplex.catalogEditor) -
將查詢發布為構面:
Dataplex 項目和 EntryLink 擁有者 (
roles/dataplex.entryOwner) 資源
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
這些預先定義的角色具備使用資料洞察所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:
所需權限
如要使用資料洞察,必須具備下列權限:
-
dataplex.datascans.create -
dataplex.datascans.get -
dataplex.datascans.getData -
dataplex.datascans.run
啟用 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 」。
準備資料
如果是 Google Cloud Lakehouse 資料表,請確認資料位於 Cloud Storage,且您已建立 Google Cloud Lakehouse 資料表。
如果是 Iceberg REST 目錄資料表,請確認資料表已在 Lakehouse 執行階段目錄中註冊。
在 BigQuery 中產生洞察資料
系統會使用 BigQuery 中的 Gemini,為 BigQuery 資料集、資料表、檢視區塊、Google Cloud Lakehouse 資料表和 BigQuery 外部資料表產生資料洞察,且只能在 BigQuery Studio 中產生。
您必須先設定 Gemini in BigQuery,然後才能產生洞察。產生洞察後,您可以在 Knowledge Catalog 中查看及修改洞察。
如要進一步瞭解如何在 BigQuery 中產生洞察資料,請參閱下列文件:
產生 Iceberg REST 目錄資料表的洞察資料
前往 Google Cloud 控制台的 Knowledge Catalog「Search」(搜尋) 頁面。
在「篩選器」中,選取「Lakehouse」。
選取要產生洞察資訊的 Iceberg REST 目錄資料表。
點按「深入分析結果」分頁標籤,如果分頁空白,表示系統尚未產生這份資料表的洞察資料。
如要生成洞察資料,並以面向的形式永久附加至資料表,請按一下「生成並發布」。這樣一來,洞察資料就能編入索引、供人搜尋,並在 Knowledge Catalog 中顯示給貴機構的其他使用者。
如要在目前工作階段中暫時生成及查看洞察資料,請按一下「生成但不發布」。如果您只需要快速分析資料,不必將中繼資料儲存至 Knowledge Catalog,請使用這個選項。
如要進一步瞭解「產生並發布」和「產生但不發布」模式之間的差異,請參閱「產生資料洞察的模式」。
選取區域即可產生洞察資訊,然後按一下「產生」。
洞察資料需要幾分鐘才會填入。
按一下「洞察」分頁標籤,然後查看下列資訊:
- 說明:這些是 AI 生成的摘要,說明資料表的用途,並詳細列出特定資料欄。
- 查詢範例:這是專為資料集結構定義和內容設計的 SQL 查詢清單。
如要查看回答問題的 SQL 查詢,請按一下該問題。
查看資源的生成洞察
如要查看資源的生成洞察資料,請完成下列步驟:
前往 Google Cloud 控制台的 Knowledge Catalog「Search」(搜尋) 頁面。
在搜尋結果中按一下資源,開啟資源的詳細資料頁面。
查看為所選資源生成的說明和查詢。
如要查看關係圖,瞭解資料點的連結方式,請按一下「關係 (預覽版)」分頁標籤。您只能在資料表層級查看關係,無法在資料集層級查看。
管理資料表洞察資訊
產生及發布表格洞察後,您可以在 Knowledge Catalog 中以中繼資料面向的形式查看及管理這些洞察。資料表層級的洞察資訊包括資料表和資料欄說明,以及查詢範例。
更新資料表產生的說明
您只能使用 Dataplex API 更新資料表和資料欄說明。 如要這麼做,請使用 entries.patch 方法。
更新資料表產生的查詢
您可以使用 Google Cloud 控制台和 Dataplex API,更新資料表的產生查詢。
控制台
在搜尋結果中按一下表格,開啟表格的項目詳細資料頁面。
在「查詢」部分中,按一下「編輯」。
視需要更新查詢說明。
管理擁有權:根據預設,「來源」會設為「代理商」。如果您修改查詢並將來源變更為「使用者」,後續產生的洞察資料不會覆寫您的變更。如果來源仍為代理程式,系統可能會在重新生成時取代查詢。
管理覆寫:如要避免在重新執行期間覆寫所有查詢,請將「User managed」選項設為「True」。這項作業會套用至該中繼資料層面的整組查詢,確保不會遺失任何手動變更。
REST
如要更新資料表的查詢,請使用 entries.patch 方法。
更新資料表的產生關聯
您只能使用 Dataplex API 更新關係。如要這麼做,請使用 entries.patch 方法。
管理資料集洞察資訊
資料集層級的洞察資料著重於高階說明和資料集範圍的查詢。
更新資料集的生成說明
您只能使用 Dataplex API 更新資料集說明。 如要這麼做,請使用 entries.patch 方法。
更新資料集的產生查詢
您可以使用 Google Cloud 控制台和 Dataplex API,更新資料集產生的查詢。
控制台
在搜尋結果中按一下資料集,開啟資料集詳細資料頁面。
在「查詢」部分中,按一下「編輯」。
視需要更新說明。
管理擁有權:根據預設,「來源」會設為「代理商」。如果您修改查詢並將來源變更為「使用者」,後續產生的洞察資料不會覆寫您的變更。如果來源仍為代理程式,系統可能會在重新生成時取代查詢。
管理覆寫:如要避免在重新執行期間覆寫所有查詢,請將「User managed」選項設為「True」。這項作業會套用至該中繼資料層面的整組查詢,確保不會遺失任何手動變更。
REST
如要更新資料集的查詢,請使用 entries.patch 方法。
更新資料集的產生項目連結
資料洞察功能發現的關係會儲存為資料表項目之間的項目連結。這些連結包含 schema-join 方面,說明資料表的連結方式。
如要編輯這些關係或提供手動覆寫,請使用 Dataplex API。
項目連結更新行為
使用 API 管理關係時,請務必瞭解手動 API 更新與自動背景掃描的互動方式,以免不慎覆寫資料。
手動更新 (API 級別行為):
UpdateEntryLinkAPI 會使用PATCH方法執行層面級別的替換作業:完整取代層面:如果在更新要求中加入
schema-join層面,Knowledge Catalog 會以您提供的新層面,取代現有的整個層面。不會自動合併:API 不會自動將新項目併入內部
joins清單。如果提交的酬載只包含一個聯結,系統會移除該層面中所有先前存在的聯結。
自動掃描 (系統層級行為):自動掃描 (例如資料洞察) 會先執行專門的合併邏輯,再呼叫 API,確保高確定度的中繼資料會根據來源保留:
來源優先順序:如果多個來源識別出相同關係,Knowledge Catalog 會依下列順序排定優先順序:
USER(手動編輯)TABLE_CONSTRAINTSQUERY_HISTORYAGENT(LLM 建議)
LLM 新鮮度:從
AGENT來源衍生的關係是動態的。如果後續掃描不再建議建立關係,系統就會移除關係。
更新項目連結
如要查看及修改項目連結,請完成下列步驟:
找出進入連結。
如要更新關係,請先列出涉及特定資料表項目的所有項目連結,找出關係的資源名稱:
gcurl -X GET "https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/entryGroups/@bigquery/entryLinks?filter=entry_references.name=\"TABLE_ENTRY_NAME\""更改下列內容:
- PROJECT_ID:您 Google Cloud專案的 ID
- LOCATION:觸發資料掃描的區域
- TABLE_ENTRY_NAME:BigQuery 資料表項目的完整資源名稱 (例如
bigquery.googleapis.com/projects/my-project/datasets/my_dataset/tables/my_table)
更新項目連結。
如要修改目標項目連結的
schema-join方面,請使用PATCH方法:gcurl -X PATCH "https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/entryGroups/@bigquery/entryLinks/ENTRYLINK_ID?aspectKeys=dataplex-types.global.schema-join" \ -d '{ "aspects": { "dataplex-types.global.schema-join": { "data": { "joins": [ { "source": { "name": "PROJECT_ID.DATASET_ID.SOURCE_TABLE", "fields": ["SOURCE_FIELD"] }, "target": { "name": "PROJECT_ID.DATASET_ID.TARGET_TABLE", "fields": ["TARGET_FIELD"] }, "type": "JOIN", "inferenceSource": "USER" } ], "userManaged": false } } } }'更改下列內容:
- ENTRYLINK_ID:在上一個識別步驟中擷取的項目連結 ID
- DATASET_ID:BigQuery 資料集的 ID
- SOURCE_TABLE:來源資料表的名稱
- SOURCE_FIELD:用於來源資料表聯結的資料欄名稱
- TARGET_TABLE:目標資料表的名稱
- TARGET_FIELD:用於目標資料表聯結的資料欄名稱
後續步驟
進一步瞭解結構化資料的資料洞察。
瞭解如何產生非結構化資料的洞察。