生成資料集洞察資料

本文說明如何為 BigQuery 資料集產生資料集洞察。資料集洞察功能會產生關係圖和跨資料表查詢,協助您瞭解資料集內資料表之間的關係。

資料集洞察功能可自動探索資料表之間的關係,並以圖表呈現,找出主鍵和外鍵關係,以及產生跨資料表查詢範例,協助您加快探索含有多個資料表的資料集。這項功能有助於瞭解資料結構 (無須文件)、探索結構定義的資料表關係 (以使用情況為準或由 AI 推斷),以及產生彙整多個資料表的複雜查詢。

如要瞭解資料表和資料集洞察資料的總覽,請參閱「資料洞察總覽」。

產生資料集洞察資訊的模式

產生資料集洞察時,BigQuery 提供兩種模式:

模式 說明 用量
生成並發布

將產生的資料集洞察資訊以中繼資料切面和關係的形式,保存到 Knowledge Catalog。您必須具備發布權限,使用「產生並發布」時,BigQuery 會執行下列動作:

  • 將資料集說明儲存在 Knowledge Catalog 中。
  • 擷取建議的查詢和問題,做為可重複使用的層面。
  • 以中繼資料的形式擷取 Knowledge Catalog 中的關係。
  • 讓所有具備適當 Knowledge Catalog 存取權的使用者都能存取已發布的洞察資料,確保機構知識得以共用。
  • 可讓您使用 API 直接在 Knowledge Catalog 中編輯及儲存說明。您可以使用 Google Cloud 控制台編輯建議的查詢。

如要建立可重複使用的企業級資料文件,或是建構以目錄為導向的治理工作流程,請使用這個模式。

生成但不發布

視需要建立資料集洞察,例如說明、自然語言問題、關係和 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 權限。瞭解如何授予角色

啟用 API

如要進一步瞭解如何啟用 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) 專案
  • 查看洞察資料:
  • 如要將洞察資料發布至 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:隨選執行 DataScan
  • dataplex.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:使用查詢切面

生成資料集洞察資料

控制台

  1. 前往 Google Cloud 控制台的「BigQuery Studio」

    前往 BigQuery Studio

  2. 在「Explorer」窗格中,選取要產生洞察資料的專案和資料集。

  3. 按一下「洞察」分頁標籤。

  4. 如要生成洞察資料並發布至 Knowledge Catalog,請按一下「生成並發布」

    如要生成洞察資訊,但不發布至 Knowledge Catalog,請按一下「生成但不發布」

    如要進一步瞭解「產生並發布」和「產生但不發布」模式的差異,請參閱「產生資料集洞察資料的模式」。

  5. 如果資料集位於多區域,系統可能會提示您選取要產生洞察資訊的區域。請依據要建立洞察資訊掃描作業的多區域,選取相應的區域。

    洞察資料需要幾分鐘才會填入。如果資料集中的資料表有資料剖析結果,深入分析的品質就會提升。

產生洞察後,BigQuery 會顯示資料集說明、關係圖、關係表,以及跨資料表查詢範例。

REST

如要以程式輔助方式產生洞察資料,請使用 Knowledge Catalog DataScans API。如要這樣做,請按照下列步驟進行:

  1. 為 BigQuery 資料集產生資料文件資料掃描
  2. 查看資料文件掃描狀態
  3. 確認發布至 Knowledge Catalog

為 BigQuery 資料集產生資料文件資料掃描

  1. 使用 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
  2. 使用 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

狀態為 SUCCEEDEDFAILURE 時,工作即完成。

成功的回應會包含 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 查詢,可聯結資料集中的多個資料表。

  1. 如要查看 SQL 查詢,請按一下問題。

  2. 如要在 BigQuery 查詢編輯器中開啟查詢,請按一下「複製到查詢」。然後執行或修改查詢。

  3. 如要提出後續查詢,請按一下Ask a follow-up,開啟未命名的資料畫布,與 Gemini 對話以探索資料。

管理生成的洞察

為資料集產生洞察後,您可以在 Knowledge Catalog 中管理、更新或刪除洞察。詳情請參閱「管理資料集洞察」。

後續步驟