建構基礎資料治理機制

你可能曾問過「這個資料欄名稱是什麼意思?」「這個損毀的資料集是誰的?」或「這個資料表是否已核准使用?」部分資料目錄會使用非結構化標記新增這項資訊,但標記很快就會過時或不一致。Knowledge Catalog (舊稱 Dataplex Universal Catalog) 可讓您直接將結構化、以結構定義為準的中繼資料和明確的業務定義附加至資料資產,避免發生這個問題。這種做法有助於大規模建構程式輔助式控管機制。

本教學課程說明如何開始在 Knowledge Catalog 中進行資料治理。 本教學課程專為資料工程師、資料庫管理員和資料架構師設計,將逐步說明手動 UI 步驟,協助您在自動執行這些工作流程前,建立強大的心智模型。並釐清重要Knowledge Catalog 概念之間的關係。完成課程後,您將瞭解如何讓資料容易搜尋且值得信賴。

目標

在本教學課程中,您將瞭解以下內容:

  • 使用組織詞彙,為商務字詞建立單一事實來源。
  • 使用層面類型建構及整理中繼資料。
  • 使用切面將中繼資料附加至資產。
  • 使用 Knowledge Catalog 搜尋功能,透過這項新的結構化中繼資料精準找出所需內容。

事前準備

開始之前,請先執行下列操作:

設定環境

本教學課程會使用 Cloud Shell,這是可在雲端執行的指令列環境。

  1. 在 Google Cloud 控制台,按一下右上工具列中的「啟用 Cloud Shell」。佈建並連至環境預計只需要幾分鐘,

  2. 在 Cloud Shell 中設定 PROJECT_IDLOCATION 變數,讓所有後續指令都以特定 Google Cloud 專案為目標。

    export PROJECT_ID=$(gcloud config get-value project)
    gcloud config set project $PROJECT_ID
    export LOCATION="us-central1"
    
  3. 啟用必要的 Google Cloud 服務。

    gcloud services enable \
      dataplex.googleapis.com \
      bigquery.googleapis.com \
      datacatalog.googleapis.com
    

建立 BigQuery 資料集並準備範例資料

請使用下列程式碼建立 BigQuery 資料集,並將一些範例 CSV 交易載入資料表。建立資料表後,Knowledge Catalog 會自動探索該資料表,並在目錄中為其建立項目

項目是 Knowledge Catalog 中資料資產的代表。這就像目錄中的記錄,您可以將控管中繼資料附加至該記錄。您不必直接控管 BigQuery 資料表,而是控管 Knowledge Catalog 中的項目。

# Create the BigQuery Dataset in the us-central1 region
bq --location=$LOCATION mk --dataset \
    --description "Retail data for governance codelab" \
    $PROJECT_ID:retail_data

# Create a temporary CSV file with the sample data
echo "transaction_id,user_email,gmv,transaction_date
1001,test@example.com,150.50,2025-08-28
1002,user@example.com,75.00,2025-08-28" > /tmp/transactions.csv

# Load the data from the temporary CSV file into a BigQuery table
bq load \
    --source_format=CSV \
    --autodetect \
    retail_data.transactions \
    /tmp/transactions.csv

# (Optional) Clean up the temporary file
rm /tmp/transactions.csv

執行 SELECT 查詢,驗證設定:

bq query --nouse_legacy_sql "SELECT * FROM retail_data.transactions"

輸出內容範例:

+----------------+------------------+-------+------------------+
| transaction_id |    user_email    |  gmv  | transaction_date |
+----------------+------------------+-------+------------------+
|           1001 | test@example.com | 150.5 |       2025-08-28 |
|           1002 | user@example.com |  75.0 |       2025-08-28 |
+----------------+------------------+-------+------------------+

透過組織詞彙建立通用字詞

妥善治理的基礎是明確的定義。舉例來說,開發人員不應猜測名為 gmv 的資料欄是指商品交易總值,還是包含稅金或退貨。組織詞彙可解決這個問題,因為這類詞彙表會建立單一事實來源,將業務定義與技術細節分開。這樣一來,從銷售團隊到財務部門,所有人都會對商品交易總值等用語有相同的理解。

請按照下列步驟建立詞彙表並定義第一個詞彙:

  1. 前往 Google Cloud 控制台的 Knowledge Catalog「Glossaries」(詞彙表) 頁面。

    前往「字彙表」

  2. 按一下「建立商務詞彙表」

  3. 輸入下列詳細資訊:

    • 顯示名稱Retail Business Glossary
    • 位置us-central1 (Iowa)
  4. 點選「建立」

  5. 按一下「建立類別」

  6. 為類別命名 Sales Metrics,然後按一下「建立」

  7. 選取「銷售指標」類別,然後按一下「新增字詞」

  8. 為字詞命名 Gross Merchandise Value,然後按一下「建立」

  9. 按一下「商品交易總值」字詞,開啟詳細資料頁面。

  10. 按一下「總覽」旁邊的「新增」。輸入下列詳細資料:The total value of merchandise sold over a given period of time before the deduction of any fees or expenses. This is a key indicator of e-commerce business growth.

  11. 按一下 [儲存]

您已建立詞彙表字詞,現在可以連結至貴機構的資料資產。

使用切面類型定義技術中繼資料

如要追蹤特定資料資產的擁有者,鍵/值標記不足以達成目的。您不希望一個資料表標記為 owner:bob,另一個標記為 contact:alice@example.com。您希望使用結構化結構定義,規定擁有者資訊必須採用有效的電子郵件格式。

為滿足這項需求,Knowledge Catalog 支援切面類型。切面類型就像中繼資料的藍圖,可讓您設定明確的規則和必填欄位。這樣可確保日後新增的中繼資料井然有序。

  1. 前往 Google Cloud 控制台的 Knowledge Catalog「Metadata types」(中繼資料類型) 頁面,然後點選「Aspect types」(層面類型) 分頁標籤。

    前往「切面類型」

  2. 在「自訂」分頁中,按一下「建立」

  3. 輸入下列詳細資訊:

    • 顯示名稱Data Asset Governance
    • 位置us-central1 (Iowa)
  4. 在「範本」部分,按一下「新增欄位」,建立下列三個欄位:

    • 欄位 1:

      • 顯示名稱Data Steward
      • 「Type」(類型)Text
      • 「為必填項目」:勾選核取方塊。
      • 文字類型Plain text
    • 欄位 2 (按一下「新增欄位」):

      • 顯示名稱Data Sensitivity
      • 「Type」(類型)Enum
      • 是否為必填欄位:選填。
      • :新增 PublicInternalConfidential
    • 欄位 3 (按一下「新增欄位」):

      • 顯示名稱Last Review Date
      • 是否為必填欄位:選填。
      • 「Type」(類型)Date and time
  5. 按一下 [儲存]

您現在可以為治理相關中繼資料欄位 (例如資料管理員、機密程度和審查日期) 建立層面類型。在下一節中,您將透過附加含有這些欄位特定值的構面,將這個結構定義套用至表格項目。

使用管理中繼資料充實項目

資料欄名稱通常會縮寫或含糊不清。將資料欄連結至組織詞彙中的字詞,可提供清楚一致的定義。在這個步驟中,您要將 Gross Merchandise Value 字詞連結至名為 gmv 的資料欄,並使用層面類型將層面附加至資料表項目,藉此擴充 retail_data.transactions 資料表的項目。

如要說明 retail_data.transactions 中的 gmv 欄位,請將其連結至 Gross Merchandise Value 字詞。

  1. 前往 Google Cloud 控制台的 Knowledge Catalog「Search」(搜尋) 頁面。

    前往「搜尋」頁面

  2. 按一下「篩選器」開啟「篩選器」面板。

  3. 在「範圍」部分,選取「目前的專案」

  4. 搜尋 retail_data.transactions,然後按一下傳回的交易資料表。

  5. 按一下「結構定義」分頁標籤。

  6. 選取「」gmv欄旁的核取方塊,然後按一下「新增業務字詞」

  7. 選取「Gross Merchandise Value」。

將切面附加至資料表項目

除了將業務字詞連結至資料欄,您也可以將切面附加至表格項目,擷取表格層級的治理中繼資料,例如資料擁有權和機密程度。

切面是切面類型的例項,包含中繼資料欄位的特定值。將切面附加至項目時,Knowledge Catalog 會根據切面類型中定義的結構定義,檢查您提供的資訊是否一致。

如要定義 retail_data.transactions 表格的擁有權和機密程度,請附加 Data Asset Governance 方面:

  1. retail_data.transactions 項目頁面的「詳細資料」分頁中,按一下「選用切面」旁的「新增」
  2. 從清單中選取 Data Asset Governance
  3. 在下列欄位中輸入值:

    • 資料管理員: finance-team@example.com
    • 資料敏感程度:選取「內部」
    • 上次審查日期:選取今天的日期。
  4. 按一下 [儲存]

您現在已在 Knowledge Catalog 中,為資料治理奠定紮實的基礎。

使用增強型中繼資料搜尋項目

您已將資料欄連結至業務字詞,並附加層面,藉此豐富 retail_data.transactions 項目。現在,您可以使用 Knowledge Catalog 搜尋功能,根據這些業務情境尋找項目。舉例來說,您可以找出所有具有特定機密等級的資產,或是搜尋術語來探索基礎資料表。

  1. 前往 Google Cloud 控制台的 Knowledge Catalog「Search」(搜尋) 頁面。

    前往「搜尋」頁面

  2. 按一下「篩選器」開啟「篩選器」面板。

  3. 在「範圍」部分,選取「目前的專案」

  4. 在搜尋列中輸入 Find tables where the Data Asset Governance aspect has Internal sensitivity.

  5. 結果清單中應該會顯示 retail_data.transactions 資料表。

  6. 清除搜尋列並輸入 Find tables with the Gross Merchandise Value term attached.

  7. 您應該會再次看到結果中的 retail_data.transactions 表格,因為其 gmv 欄直接連結至這個商家字詞。

清除所用資源

為避免產生費用,請刪除您在本教學課程中建立的資源。

刪除範例資料集

如要刪除 BigQuery 範例資料集和所有資料表,請使用下列指令。這個動作無法復原。

# Re-run these exports if your Cloud Shell session timed out
export PROJECT_ID=$(gcloud config get-value project)

# Manually type this command to confirm you are deleting the correct dataset
bq rm -r -f --dataset $PROJECT_ID:retail_data

刪除 Knowledge Catalog 構件

  1. 前往 Google Cloud 控制台的 Knowledge Catalog「Metadata types」(中繼資料類型) 頁面,然後點選「Aspect types」(層面類型) 分頁標籤。

    前往「切面類型」

  2. 選取 data_asset_governance 方面類型,然後按一下「刪除」

  3. 前往 Google Cloud 控制台的 Knowledge Catalog「Glossaries」(詞彙表) 頁面。

    前往「字彙表」

  4. 選取 Gross Merchandise Value 字詞,然後按一下「刪除」

  5. 選取 Sales Metrics 類別,然後按一下「刪除」

  6. 選取 Retail Business Glossary,然後按一下「刪除」

後續步驟

  • 管理組織詞彙:如要進一步瞭解如何為資料建立標準化詞彙,請參閱「管理組織詞彙」。
  • 豐富中繼資料內容:進一步瞭解如何使用「管理面向並豐富中繼資料」中的面向,新增有意義的內容。
  • 自動附加層面:使用 Cloud Run 函式Cloud Build,將層面附加至新資料集。
  • 以程式碼形式進行控管:使用 Google Cloud Terraform 供應商,在版本控管中管理結構定義。