处理数据时,您可能问过诸如“此列名称是什么意思?”“谁拥有此损坏的数据集?”或“此表是否已获准使用?”元数据标记试图回答这些问题,但很快就会过时或不一致。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
创建 BigQuery 数据集并准备示例数据
使用以下代码创建 BigQuery 数据集,并将一些示例 CSV 交易记录加载到表中。创建表后,Knowledge Catalog 会发现该表,并在目录中为其创建条目。
您可以将条目视为 Knowledge Catalog 对数据资产的表示。它就像目录中的一条记录,您可以向其附加元数据。您无需直接向 BigQuery 表添加上下文(或丰富 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,然后点击创建。点击 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
- 显示名称:
点击保存。
现在,您已创建了一个切面类型,用于存储与数据治理相关的元数据字段,例如数据监管员、敏感度级别和审核日期。在下一部分中,您将通过附加一个包含这些字段特定值的方面,将此架构应用于表格条目。
使用业务和技术情境丰富条目
列名称通常会缩写或含糊不清。将列与业务术语库中的术语相关联,可提供清晰一致的定义。在此步骤中,您将通过以下方式丰富 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 智能体以提取情境,并在构建智能体以丰富元数据中丰富数据资产。
- 探索更多使用场景:在使用场景中发现更多可自定义的工作流和场景。