借助 Knowledge Catalog(以前称为 Dataplex Universal Catalog),您可以直接将结构化元数据和清晰的业务定义附加到数据资产。提供这些背景信息可让您的数据更易于发现、建立用户信任,并为 AI 智能体提供依据。
在本教程中,数据监管人员和业务分析师将完成基于界面的步骤,以构建标准业务术语和元数据上下文,然后再自动执行这些工作流。您还将探索关键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
创建 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,然后点击创建。选择销售指标类别,然后点击添加字词。
将该术语命名为
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 - Is Required:保留为可选。
- 值:添加
Public、Internal和Confidential
- 显示名称:
字段 3(点击添加字段):
- 显示名称:
Last Review Date - Is Required:保留为可选。
- 类型:
Date and time
- 显示名称:
点击保存。
现在,您已创建了一个切面类型,用于存储与数据治理相关的元数据字段,例如数据监管者、敏感度级别和审核日期。在下一部分中,您将通过附加具有这些字段特定值的切面,将此架构应用于表条目。
使用业务和技术上下文丰富条目
列名称通常是缩写或不明确。将列关联到业务术语库中的术语,可提供清晰一致的定义。在此步骤中,您将 Gross Merchandise Value 术语关联到名为 gmv 的列,并使用您的切面类型将切面附加到表条目,从而丰富 retail_data.transactions 表的条目。
将列与业务术语相关联
为了阐明 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 智能体来提取上下文并丰富数据资产。
- 探索更多应用场景:在应用场景中探索更多可自定义的工作流和场景。