在处理数据时,您可能问过以下问题:“此列名称是什么意思?”“谁拥有这个损坏的数据集?”或“此表是否已获准使用?”元数据标记尝试回答这些问题,但很快就会过时或不一致。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 术语库 页面。
点击创建业务术语库 。
输入以下详细信息:
- 显示名称:
Retail Business Glossary - 地点:
us-central1 (Iowa)
- 显示名称:
点击创建 。
点击创建类别 。
将类别命名为
Sales Metrics,然后点击创建 。选择 Sales Metrics 类别,然后点击添加术语 。
将术语命名为
Gross Merchandise Value,然后点击创建 。点击 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 元数据类型 页面上的切面类型 标签页。
在自定义 标签页上,点击创建 。
输入以下详细信息:
- 显示名称:
Data Asset Context - 地点:
us-central1 (Iowa)
- 显示名称:
在模板 部分中,点击添加字段 以创建以下三个字段:
字段 1:
- 显示名称:
Data Steward - 类型:
Text - 为必填项:选中相应复选框。
- 文本类型:
Plain text
- 显示名称:
字段 2 (点击添加字段 ):
- 显示名称:
Data Sensitivity - 类型:
Enum - 为必填项:保留为可选。
- 值:添加
Public、Internal和Confidential
- 显示名称:
字段 3 (点击添加字段 ):
- 显示名称:
Last Review Date - 为必填项:保留为可选。
- 类型:
Date and time
- 显示名称:
点击保存 。
您现在拥有一个切面类型,用于与数据治理相关的元数据字段,例如数据管理员、敏感度级别和审核日期。在下一部分中,您将通过附加一个切面(其中包含这些字段的特定值)将此架构应用于表条目。
使用业务和技术上下文丰富条目
列名称通常是缩写或不明确。将列关联到业务术语库中的术语可提供清晰且一致的定义。在此步骤中,您将通过以下方式丰富 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 智能体以提取上下文并丰富数据资产。
- 探索更多使用场景: 在使用场景中发现其他实践工作流和场景。