生成資料集洞察資料

本文說明如何為 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 時所需的角色

您必須具備 serviceusage.services.enable 權限,才能啟用 API。如果您建立了專案,可能已透過「擁有者」角色 (roles/owner) 取得這項權限。否則,您可以透過「服務使用情形管理員」角色 (roles/serviceusage.serviceUsageAdmin) 取得這項權限。瞭解如何授予角色

啟用 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 資料集所在的專案 ID Google Cloud
  • 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 中管理、更新或刪除洞察。詳情請參閱「管理資料集洞察」。

後續步驟