在处理数据时,您可能曾问过自己“此列名称是什么意思?”之类的问题,“谁拥有这个损坏的数据集?”或“此表是否已获批准可供使用?”元数据标记试图回答这些问题,但很快就会过时或不一致。Knowledge Catalog(以前称为 Dataplex Universal Catalog)通过允许您将结构化元数据和清晰的业务定义直接附加到数据资产来解决此问题。提供清晰的数据背景信息,为 AI 智能体提供依据,并为与数据互动的每位用户奠定信任基础。
本教程介绍了如何在 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 "Sample retail data for foundational data context tutorial" \
$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 的列是指商品交易总价值,还是包含税费和退货。业务术语库可为整个组织中的这些定义创建单一可信来源。当团队成员或 AI 智能体分析您的数据时,他们会继承这种精确的业务背景信息。共享定义可使财务、销售和运营等团队的指标保持一致,并帮助 AI 智能体避免出现幻觉。
请按照以下步骤创建词汇表并定义第一个术语:
在 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,另一个表可能标记为 steward:alice@example.com。为了大规模整理元数据,您需要使用一致的架构。
这时,方面类型就派上用场了。切面类型是一种元数据蓝图,可让您设置明确的规则和必需字段。要求数据管家提供有效的电子邮件地址等标准字段,可让下游脚本自动验证和保护您的元数据。
如需创建方面类型,请按以下步骤操作:
在 Google Cloud 控制台中,前往 元数据类型页面上的 Knowledge Catalog 方面类型标签页。
在自定义标签页中,点击创建。
输入以下详细信息:
- Display name:
Data Asset Context - 位置:
us-central1 (Iowa)
- Display name:
在模板部分中,点击添加字段以创建以下三个字段:
字段 1:
- Display name:
Data Steward - 类型:
Text - 为必填项:选中相应复选框。
- 文本类型:
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 Context 方面:
- 在
retail_data.transactions条目页面的详细信息标签页上,点击可选切面旁边的添加。 - 从列表中选择
Data Asset Context。 在相应字段中输入值:
- 数据管理员:
finance-team@example.com - 数据敏感度:选择内部。
- 上次审核日期:选择今天的日期。
- 数据管理员:
点击保存。
通过丰富零售交易示例数据,您在 Knowledge Catalog 中奠定了坚实的数据上下文基础。
使用丰富的元数据搜索条目
现在,您可以使用 Knowledge Catalog 搜索功能,根据您设置的业务情境查找条目。例如,您可以查找具有特定敏感度的所有资产,也可以搜索术语表中的术语来发现底层表。
在 Google Cloud 控制台中,前往 Knowledge Catalog 搜索页面。
点击过滤条件以打开过滤条件面板。
对于范围,选择当前项目。
在搜索栏中,输入
Find tables where the Data Asset Context aspect has Internal sensitivity.您应该会在结果列表中看到
retail_data.transactions表。清空搜索栏并输入
Find tables with the Gross Merchandise Value term attached.您应该会在结果中再次看到
retail_data.transactions表,因为其gmv列直接与此业务术语相关联。
当您将 AI 智能体连接到 Knowledge Catalog 时,它会自动继承这些丰富的元数据。例如,当您要求代理检索内部销售指标时,它会读取“数据敏感度”(您将其设置为“内部”)方面以及关联的“商品总价值”词汇表术语。这种共享上下文有助于代理验证其数据源、遵守访问政策并避免出现幻觉。
清理
为避免产生费用,请删除您在本教程中创建的资源。
删除示例数据集
如需删除示例 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 Context切面类型,然后点击删除。在 Google Cloud 控制台中,前往 Knowledge Catalog 术语库页面。
选择
Gross Merchandise Value学期,然后点击删除。选择
Sales Metrics类别,然后点击删除。选择
Retail Business Glossary,然后点击删除。
后续步骤
如需详细了解如何使用 Knowledge Catalog 进行目录整理和构建代理,请参阅以下资源:
- 管理切面并丰富元数据:了解如何在管理切面并丰富元数据中定义自定义架构并附加结构化元数据。
- 管理业务术语库:如需了解如何在组织中建立标准化词汇,请参阅管理业务术语库。
- 使用 Terraform 进行治理:了解如何使用 Terraform 预配自定义方面类型和术语库。
- 大规模处理术语表术语:使用 JSON 文件批量丰富元数据,详见导入和导出术语表及条目链接。
- 使用智能体丰富元数据:构建 AI 智能体以提取上下文,并在构建智能体以丰富元数据中丰富数据资产。
- 探索更多使用场景:在使用场景中探索更多实际操作工作流和场景。