生成資料集洞察資訊

資料洞察功能可協助您瞭解 BigQuery 資料集和 Apache Iceberg 命名空間中資料表之間的關係,方法是在圖表中探索及視覺化資料表之間的關係、找出結構定義定義、依據用量或 AI 推論的關係,以及生成跨資料表查詢範例。

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

生成資料集深入分析資訊的模式

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

模式 說明 用量
生成並發布

將生成的資料集深入分析資訊,以中繼資料切面和關係的形式,永久儲存至 Knowledge Catalog。您必須具備必要權限才能發布。使用「Generate and publish」(生成並發布) 時,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) 取得這項權限。否則,您可以透過 Service Usage 管理員角色 (roles/serviceusage.serviceUsageAdmin) 取得這項權限。瞭解如何授予角色。

啟用 API

如要進一步瞭解如何啟用 Gemini for Google Cloud API,請參閱「在 Google Cloud 專案中啟用 Gemini for Google Cloud API」。

完成資料剖析掃描

如要提升洞察品質,請為資料集中的資料表產生資料剖析掃描。

必要的角色

如要取得生成、管理及擷取資料集洞察所需的權限,請要求管理員授予您下列 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)

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

您或許也能透過自訂角色或其他預先定義的角色,取得必要權限。

如要查看生成洞察資料所需的確切權限,請展開「Required permissions」(必要權限) 部分:

所需權限

  • bigquery.datasets.get:讀取資料集中繼資料
  • bigquery.jobs.create:建立工作
  • bigquery.jobs.listAll:列出專案中的所有工作
  • bigquery.tables.get:取得資料表中繼資料
  • bigquery.tables.getData:取得資料表資料和中繼資料
  • dataplex.datascans.create:建立資料掃描資源
  • dataplex.datascans.get:讀取資料掃描資源中繼資料
  • dataplex.datascans.getData:讀取資料掃描執行結果
  • dataplex.datascans.run:執行隨選資料掃描
  • 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」窗格中,選取要生成洞察資料的專案和資料集。如果是 Iceberg 命名空間,請選取代表目錄命名空間的資料集。

  3. 點按「深入分析結果」分頁標籤。

    如果分頁空白,表示尚未產生這個資料集的洞察資訊。

  4. 點按「生成」。

  5. 選取發布條件:

    • 如要生成洞察資料,並將其永久附加至資產做為中繼資料,請開啟「Publish condition」(發布條件) 切換鈕。這樣一來,機構中的其他使用者就能建立索引、搜尋及查看洞察。

    • 如要在目前的工作階段中暫時生成及查看洞察資料,請關閉「Publish condition」(發布條件) 切換鈕。

    如要進一步瞭解「Generate and publish」(生成並發布) 和「Generate without publishing」(生成但不發布) 模式之間的差異,請參閱「生成資料洞察的模式」。

  6. 選用:在「Custom instructions」(自訂指令) 欄位中,提供指引和網域背景資訊,自訂 Gemini 生成洞察資料的方式。

    例如,您可以強制執行命名慣例、指定業務定義,或描述 join 鍵:

    LANGUAGE: Always write column descriptions in uppercase.
    
    DOMAIN_CONTEXT:
    - This dataset supports the Order-to-Cash process for the EMEA commercial
      sales team.
    - Primary consumers are finance analysts and regional sales managers, not
      engineers.
    
    RELATIONSHIPS:
    - returns.order_item_id → order_items.id (one-to-one; use LEFT JOIN to
      preserve unreturned items)
    
  7. 如果資料集位於多區域,系統可能會提示您選取要產生洞察資料的區域。請依據要建立洞察資訊掃描作業的多區域,選取相應的區域。

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

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

REST

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

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

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

  1. 使用 dataScans.create 方法建立資料說明文件資料掃描作業。您也可以將 catalog_publishing_enabled 參數設為 true,將這些洞察資訊發布至 Knowledge Catalog。

    例如:

    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

狀態為 SUCCEEDED 或 FAILURE 時,工作即完成。

如果工作成功,回應的 dataDocumentationResult 欄位會包含生成的洞察資料。

確認發布至 Knowledge Catalog

如果 catalog_publishing_enabled 設為 true,則資料掃描工作完成後,洞察資訊會以非同步方式發布至 Knowledge Catalog。如要確認洞察資料是否已保存,請使用 Dataplex API 檢查資料集的切面。

雖然洞察資料是透過資料集層級的資料掃描產生,但產生的項目連結會儲存在連結的資料表之間。如要驗證這些關係,請使用 lookupEntryLinks 方法,擷取與特定資料表項目相關聯的項目連結。

如要擷取 BigQuery 資料集的中繼資料,請使用 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:設定資料掃描作業的 Google Cloud專案 ID
  • LOCATION:項目群組所在的區域
  • DATASET_PROJECT_ID:BigQuery 資料集所在 Google Cloud專案的 ID
  • DATASET:BigQuery 資料集的 ID

如果成功發布至 Knowledge Catalog,下列面向會附加至 BigQuery 資料集:

  • 說明:包含 AI 生成的資料集說明
  • 查詢:包含與資料集相關的 SQL 查詢
  • 關係:以資料集中資料表之間的項目連結形式保留

查看及儲存資料集說明

Gemini 會生成資料集的自然語言說明,摘要說明資料集包含的資料表類型和代表的業務領域。如要將這段說明儲存至資料集的中繼資料,請按一下「Save to details」(儲存至詳細資料)。

儲存詳細資料前,您可以編輯說明。

探索關係圖

「Relationships」(關係) 圖表會以視覺化方式呈現資料集中資料表之間的關係。圖表會將關聯性最高的前 10 個資料表顯示為節點,並以線條代表資料表之間的關係。

  • 如要查看關係詳細資料 (例如彙整兩個資料表的資料欄),請將滑鼠游標懸停在連接資料表節點的邊緣上。
  • 如要重新排列圖表,以便更清楚地查看,請拖曳資料表節點。

使用關係表

「Relationship table」(關係表格) 會以表格格式列出探索到的關係。每一列代表兩個資料表之間的關係,顯示來源資料表和資料欄,以及目的地資料表和資料欄。「Source」(來源) 欄會指出關係的判定方式:

  • LLM 推論:Gemini 根據資料集中的資料表和資料欄名稱及說明,推論出的關係。
  • 按用量計費。根據頻繁彙整,從查詢記錄中擷取的關係。
  • 結構定義。從資料表結構定義中現有的主鍵和外鍵對應關係衍生而來。

您可以篩選特定資料表的關係,或針對偵測到的關係品質提供意見回饋。如要將產生的資料集說明和關係匯出至 JSON 檔案,請按一下「Export to JSON」(匯出至 JSON)。

使用查詢建議

Gemini 會根據發現的關係生成範例查詢。這些是自然語言問題,並附有對應的 SQL 查詢,可彙整資料集中的多個資料表。

  1. 如要查看 SQL 查詢,請點選問題。

  2. 如要在 BigQuery 查詢編輯器中開啟查詢,請按一下「Copy to query」(複製到查詢)。接著,您可以執行或修改查詢。

  3. 如要提出後續問題,請點按「Ask a follow-up」(提出後續問題),系統會開啟未命名的資料畫布,您可以在其中與 Gemini 對話,探索資料。

管理生成的洞察資料

生成資料集的洞察資料後,您可以在 Knowledge Catalog 中管理、更新或刪除這些資料。詳情請參閱「管理資料集深入分析」。

後續步驟