您可能问过“此列名称是什么意思?”之类的问题,“谁拥有这个损坏的数据集?”或“此表是否已获准使用?”某些数据目录使用非结构化标记来添加此信息,但标记很快就会过时或不一致。Knowledge Catalog(以前称为 Dataplex Universal Catalog)可让您直接将结构化、基于架构的元数据和清晰的业务定义附加到数据资产,从而避免此问题。此方法有助于大规模构建程序化治理。
本教程介绍了如何开始在 Knowledge Catalog 中进行数据治理。本教程专为数据工程师、数据库管理员和数据架构师设计,将逐步介绍手动界面操作,帮助您在自动执行这些工作流程之前建立扎实的思维模式。它阐明了关键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 术语库页面。
点击创建业务术语库。
输入以下详细信息:
- Display name:
Retail Business Glossary - 位置:
us-central1 (Iowa)
- Display name:
点击创建。
点击创建类别。
将类别命名为
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 方面类型标签页。
在自定义标签页中,点击创建。
输入以下详细信息:
- Display name:
Data Asset Governance - 位置:
us-central1 (Iowa)
- Display name:
在模板部分中,点击添加字段以创建以下三个字段:
字段 1:
- Display name:
Data Steward - 类型:
Text - Is Required(为必填项):选中相应复选框。
- 文本类型:
Plain text
- Display name:
字段 2(点击添加字段):
- Display name:
Data Sensitivity - 类型:
Enum - 是否必需:保留可选。
- 值:添加
Public、Internal和Confidential
- Display name:
字段 3(点击添加字段):
- Display name:
Last Review Date - 是否必需:保留可选。
- 类型:
Date and time
- Display name:
点击保存。
现在,您拥有一个用于治理相关元数据字段(例如数据管家、敏感度级别和审核日期)的方面类型。在下一部分中,您将通过附加一个包含这些字段特定值的方面,将此架构应用于表格条目。
使用治理元数据丰富条目
列名称通常会缩写或含义模糊不清。将列与业务术语库中的术语相关联,可提供清晰一致的定义。在此步骤中,您将通过以下方式丰富 retail_data.transactions 表的条目:将 Gross Merchandise Value 字词与名为 gmv 的列相关联,并使用您的切面类型将切面附加到表条目。
将列与业务术语相关联
为了明确说明 retail_data.transactions 中的 gmv 列是什么,请将其与 Gross Merchandise Value 术语相关联。
在 Google Cloud 控制台中,前往 Knowledge Catalog 搜索页面。
点击过滤条件以打开过滤条件面板。
对于范围,选择当前项目。
搜索
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 搜索页面。
点击过滤条件以打开过滤条件面板。
对于范围,选择当前项目。
在搜索栏中,输入
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 方面类型标签页。
选择
data_asset_governance切面类型,然后点击删除。在 Google Cloud 控制台中,前往 Knowledge Catalog 术语库页面。
选择
Gross Merchandise Value字词,然后点击删除。选择
Sales Metrics类别,然后点击删除。选择
Retail Business Glossary,然后点击删除。
后续步骤
- 管理业务术语库:如需详细了解如何为数据建立标准化词汇,请参阅管理业务术语库。
- 丰富元数据上下文:如需详细了解如何使用切面添加有意义的上下文,请参阅管理切面并丰富元数据。
- 自动附加方面:使用 Cloud Run functions 或 Cloud Build 将方面附加到新数据集中。
- 以代码形式实现治理:使用 Google Cloud Terraform 提供程序在版本控制中管理架构。