你可能曾問過「這個資料欄名稱是什麼意思?」「這個損毀的資料集是誰的?」或「這個資料表是否已核准使用?」部分資料目錄會使用非結構化標記新增這項資訊,但標記很快就會過時或不一致。Knowledge Catalog (舊稱 Dataplex Universal Catalog) 可讓您直接將結構化、以結構定義為準的中繼資料和明確的業務定義附加至資料資產,避免發生這個問題。這種做法有助於大規模建構程式輔助式控管機制。
本教學課程說明如何開始在 Knowledge Catalog 中進行資料治理。 本教學課程專為資料工程師、資料庫管理員和資料架構師設計,將逐步說明手動 UI 步驟,協助您在自動執行這些工作流程前,建立強大的心智模型。並釐清重要Knowledge Catalog 概念之間的關係。完成課程後,您將瞭解如何讓資料容易搜尋且值得信賴。
目標
在本教學課程中,您將瞭解以下內容:
- 使用組織詞彙,為商務字詞建立單一事實來源。
- 使用層面類型建構及整理中繼資料。
- 使用切面將中繼資料附加至資產。
- 使用 Knowledge Catalog 搜尋功能,透過這項新的結構化中繼資料精準找出所需內容。
事前準備
開始之前,請先執行下列操作:
- 選取本教學課程的Google Cloud 專案。
- 確認專案已啟用計費功能。
設定環境
本教學課程會使用 Cloud Shell,這是可在雲端執行的指令列環境。
在 Google Cloud 控制台,按一下右上工具列中的「啟用 Cloud Shell」。佈建並連至環境預計只需要幾分鐘,
在 Cloud Shell 中設定
PROJECT_ID和LOCATION變數,讓所有後續指令都以特定 Google Cloud 專案為目標。export PROJECT_ID=$(gcloud config get-value project) gcloud config set project $PROJECT_ID export LOCATION="us-central1"啟用必要的 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 的資料欄是指商品交易總值,還是包含稅金或退貨。組織詞彙可解決這個問題,因為這類詞彙表會建立單一事實來源,將業務定義與技術細節分開。這樣一來,從銷售團隊到財務部門,所有人都會對商品交易總值等用語有相同的理解。
請按照下列步驟建立詞彙表並定義第一個詞彙:
前往 Google Cloud 控制台的 Knowledge Catalog「Glossaries」(詞彙表) 頁面。
按一下「建立商務詞彙表」。
輸入下列詳細資訊:
- 顯示名稱:
Retail Business Glossary - 位置:
us-central1 (Iowa)
- 顯示名稱:
點選「建立」。
按一下「建立類別」。
為類別命名
Sales Metrics,然後按一下「建立」。選取「銷售指標」類別,然後按一下「新增字詞」。
為字詞命名
Gross Merchandise Value,然後按一下「建立」。按一下「商品交易總值」字詞,開啟詳細資料頁面。
按一下「總覽」旁邊的「新增」。輸入下列詳細資料:
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.按一下 [儲存]。
您已建立詞彙表字詞,現在可以連結至貴機構的資料資產。
使用切面類型定義技術中繼資料
如要追蹤特定資料資產的擁有者,鍵/值標記不足以達成目的。您不希望一個資料表標記為 owner:bob,另一個標記為 contact:alice@example.com。您希望使用結構化結構定義,規定擁有者資訊必須採用有效的電子郵件格式。
為滿足這項需求,Knowledge Catalog 支援切面類型。切面類型就像中繼資料的藍圖,可讓您設定明確的規則和必填欄位。這樣可確保日後新增的中繼資料井然有序。
前往 Google Cloud 控制台的 Knowledge Catalog「Metadata types」(中繼資料類型) 頁面,然後點選「Aspect types」(層面類型) 分頁標籤。
在「自訂」分頁中,按一下「建立」。
輸入下列詳細資訊:
- 顯示名稱:
Data Asset Governance - 位置:
us-central1 (Iowa)
- 顯示名稱:
在「範本」部分,按一下「新增欄位」,建立下列三個欄位:
欄位 1:
- 顯示名稱:
Data Steward - 「Type」(類型):
Text - 「為必填項目」:勾選核取方塊。
- 文字類型:
Plain text
- 顯示名稱:
欄位 2 (按一下「新增欄位」):
- 顯示名稱:
Data Sensitivity - 「Type」(類型):
Enum - 是否為必填欄位:選填。
- 值:新增
Public、Internal和Confidential
- 顯示名稱:
欄位 3 (按一下「新增欄位」):
- 顯示名稱:
Last Review Date - 是否為必填欄位:選填。
- 「Type」(類型):
Date and time
- 顯示名稱:
按一下 [儲存]。
您現在可以為治理相關中繼資料欄位 (例如資料管理員、機密程度和審查日期) 建立層面類型。在下一節中,您將透過附加含有這些欄位特定值的構面,將這個結構定義套用至表格項目。
使用管理中繼資料充實項目
資料欄名稱通常會縮寫或含糊不清。將資料欄連結至組織詞彙中的字詞,可提供清楚一致的定義。在這個步驟中,您要將 Gross Merchandise Value 字詞連結至名為 gmv 的資料欄,並使用層面類型將層面附加至資料表項目,藉此擴充 retail_data.transactions 資料表的項目。
將資料欄連結至企業字詞
如要說明 retail_data.transactions 中的 gmv 欄位,請將其連結至 Gross Merchandise Value 字詞。
前往 Google Cloud 控制台的 Knowledge Catalog「Search」(搜尋) 頁面。
按一下「篩選器」開啟「篩選器」面板。
在「範圍」部分,選取「目前的專案」。
搜尋
retail_data.transactions,然後按一下傳回的交易資料表。按一下「結構定義」分頁標籤。
選取「」
gmv欄旁的核取方塊,然後按一下「新增業務字詞」。選取「
Gross Merchandise Value」。
將切面附加至資料表項目
除了將業務字詞連結至資料欄,您也可以將切面附加至表格項目,擷取表格層級的治理中繼資料,例如資料擁有權和機密程度。
切面是切面類型的例項,包含中繼資料欄位的特定值。將切面附加至項目時,Knowledge Catalog 會根據切面類型中定義的結構定義,檢查您提供的資訊是否一致。
如要定義 retail_data.transactions 表格的擁有權和機密程度,請附加 Data Asset Governance 方面:
- 在
retail_data.transactions項目頁面的「詳細資料」分頁中,按一下「選用切面」旁的「新增」。 - 從清單中選取
Data Asset Governance。 在下列欄位中輸入值:
- 資料管理員:
finance-team@example.com - 資料敏感程度:選取「內部」。
- 上次審查日期:選取今天的日期。
- 資料管理員:
按一下 [儲存]。
您現在已在 Knowledge Catalog 中,為資料治理奠定紮實的基礎。
使用增強型中繼資料搜尋項目
您已將資料欄連結至業務字詞,並附加層面,藉此豐富 retail_data.transactions 項目。現在,您可以使用 Knowledge Catalog 搜尋功能,根據這些業務情境尋找項目。舉例來說,您可以找出所有具有特定機密等級的資產,或是搜尋術語來探索基礎資料表。
前往 Google Cloud 控制台的 Knowledge Catalog「Search」(搜尋) 頁面。
按一下「篩選器」開啟「篩選器」面板。
在「範圍」部分,選取「目前的專案」。
在搜尋列中輸入
Find tables where the Data Asset Governance aspect has Internal sensitivity.結果清單中應該會顯示
retail_data.transactions資料表。清除搜尋列並輸入
Find tables with the Gross Merchandise Value term attached.您應該會再次看到結果中的
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 構件
前往 Google Cloud 控制台的 Knowledge Catalog「Metadata types」(中繼資料類型) 頁面,然後點選「Aspect types」(層面類型) 分頁標籤。
選取
data_asset_governance方面類型,然後按一下「刪除」。前往 Google Cloud 控制台的 Knowledge Catalog「Glossaries」(詞彙表) 頁面。
選取
Gross Merchandise Value字詞,然後按一下「刪除」。選取
Sales Metrics類別,然後按一下「刪除」。選取
Retail Business Glossary,然後按一下「刪除」。
後續步驟
- 管理組織詞彙:如要進一步瞭解如何為資料建立標準化詞彙,請參閱「管理組織詞彙」。
- 豐富中繼資料內容:進一步瞭解如何使用「管理面向並豐富中繼資料」中的面向,新增有意義的內容。
- 自動附加層面:使用 Cloud Run 函式或 Cloud Build,將層面附加至新資料集。
- 以程式碼形式進行控管:使用 Google Cloud Terraform 供應商,在版本控管中管理結構定義。