利用 Knowledge Catalog 建立基础数据背景信息

借助 Knowledge Catalog(以前称为 Dataplex Universal Catalog),您可以直接将结构化元数据和清晰的业务定义附加到数据资产。提供这些背景信息可让您的数据更易于发现、建立用户信任,并为 AI 智能体提供依据。

在本教程中,数据监管人员和业务分析师将完成基于界面的步骤,以构建标准业务术语和元数据上下文,然后再自动执行这些工作流。您还将探索关键Knowledge Catalog 概念如何协同工作。

目标

在本教程中,您将学习如何:

  • 使用业务术语库为业务术语创建单一事实来源。
  • 使用切面类型构建和整理元数据。
  • 使用切面将元数据附加到数据资产。
  • 使用 Knowledge Catalog 搜索功能,通过这些新的结构化元数据准确找到所需内容。

准备工作

在开始之前,请执行以下操作:

设置环境

本教程使用 Cloud Shell,它是在云端运行的命令行环境。

  1. 在 Google Cloud 控制台中,点击右上角工具栏中的激活 Cloud Shell。预配并连接到环境需要一些时间。

  2. 在 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"
    
  3. 启用必要的 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 智能体避免幻觉。

请按照以下步骤创建术语表并定义您的第一个术语:

  1. 在 Google Cloud 控制台中,前往 Knowledge Catalog 术语库页面。

    前往“术语库”

  2. 点击创建业务术语库。

  3. 输入以下详细信息:

    • 显示名称:Retail Business Glossary
    • 位置:us-central1 (Iowa)
  4. 点击创建。

  5. 点击创建类别。

  6. 将类别命名为 Sales Metrics,然后点击创建。

  7. 选择销售指标类别,然后点击添加字词。

  8. 将该术语命名为 Gross Merchandise Value,然后点击创建。

  9. 点击总交易额术语,打开其详情页面。

  10. 点击概览旁边的添加。输入以下详细信息: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.

  11. 点击保存。

您现在已创建了一个词汇表术语,可以将其关联到整个组织中的数据条目。

使用切面类型定义技术元数据

处理数据时,您通常需要回答诸如“谁拥有此损坏的数据集?”或“此表是否已获准使用?”之类的问题。非结构化元数据标记试图回答这些问题,但它们很快就会过时或不一致。例如,一个表可能标记为 owner:bob,另一个表可能标记为 steward:alice@example.com。为了大规模整理元数据,您需要一个一致的架构。

这时,切面类型就派上用场了。切面类型是一种元数据蓝图,可让您设置明确的规则和必填字段。要求为数据监管者提供有效邮箱等标准字段,可让下游脚本自动验证和保护元数据。

如需创建方面类型,请按以下步骤操作:

  1. 在 Google Cloud 控制台中,前往元数据类型页面上的 Knowledge Catalog 切面类型标签页。

    前往“切面类型”

  2. 在自定义标签页上,点击创建。

  3. 输入以下详细信息:

    • 显示名称:Data Asset Context
    • 位置:us-central1 (Iowa)
  4. 在模板部分中,点击添加字段,创建以下三个字段:

    • 字段 1:

      • 显示名称:Data Steward
      • 类型:Text
      • 为必填项:选中此复选框。
      • 文本类型:Plain text
    • 字段 2(点击添加字段):

      • 显示名称:Data Sensitivity
      • 类型:Enum
      • Is Required:保留为可选。
      • 值:添加 Public、Internal 和 Confidential
    • 字段 3(点击添加字段):

      • 显示名称:Last Review Date
      • Is Required:保留为可选。
      • 类型:Date and time
  5. 点击保存。

现在,您已创建了一个切面类型,用于存储与数据治理相关的元数据字段,例如数据监管者、敏感度级别和审核日期。在下一部分中,您将通过附加具有这些字段特定值的切面,将此架构应用于表条目。

使用业务和技术上下文丰富条目

列名称通常是缩写或不明确。将列关联到业务术语库中的术语,可提供清晰一致的定义。在此步骤中,您将 Gross Merchandise Value 术语关联到名为 gmv 的列,并使用您的切面类型将切面附加到表条目,从而丰富 retail_data.transactions 表的条目。

为了阐明 retail_data.transactions 中的 gmv 列是什么,请将其关联到 Gross Merchandise Value 术语。

  1. 在 Google Cloud 控制台中,前往 Knowledge Catalog 搜索页面。

    转到搜索

  2. 点击过滤条件,打开过滤条件面板。

  3. 对于范围,选择当前项目。

  4. 搜索 retail_data.transactions,然后点击返回的交易表。

  5. 点击架构标签页。

  6. 选中 gmv 列旁边的复选框,然后点击添加业务术语。

  7. 选择 Gross Merchandise Value。

将切面附加到表条目

除了将业务术语关联到列之外,您还可以将切面附加到表条目,以捕获表级元数据,例如数据所有权和敏感度。

切面是切面类型的实例,具有元数据字段的特定值。当您将切面附加到条目时,Knowledge Catalog 会根据切面类型中定义的架构检查您提供的信息,以确保一致性。

如需为 retail_data.transactions 表定义所有权和敏感度,请附加 Data Asset Context 方面:

  1. 在 retail_data.transactions 条目页面的详细信息标签页上,点击可选切面旁边的添加。
  2. 从列表中选择 Data Asset Context。
  3. 在以下字段中输入值:

    • 数据管理员: finance-team@example.com
    • 数据敏感度:选择内部。
    • 上次审核日期:选择今天的日期。
  4. 点击保存。

通过丰富零售交易示例数据,您已在 Knowledge Catalog 中建立了坚实的数据上下文基础。

使用丰富的元数据搜索条目

现在,您可以使用 Knowledge Catalog 搜索功能,根据您设置的业务上下文查找条目。例如,您可以查找具有特定敏感度级别的所有资产,也可以搜索词汇表术语以发现底层表。

  1. 在 Google Cloud 控制台中,前往 Knowledge Catalog 搜索页面。

    转到搜索

  2. 点击过滤条件,打开过滤条件面板。

  3. 在范围部分,选择当前项目。

  4. 在搜索栏中,输入 Find tables where the Data Asset Context aspect has Internal sensitivity.

  5. 您应该会在结果列表中看到 retail_data.transactions 表。

  6. 清空搜索栏,然后输入 Find tables with the Gross Merchandise Value term attached.

  7. 您应该会在结果中再次看到 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 制品

  1. 在 Google Cloud 控制台中,前往元数据类型页面上的 Knowledge Catalog 切面类型标签页。

    前往“切面类型”

  2. 选择 Data Asset Context 切面类型,然后点击删除。

  3. 在 Google Cloud 控制台中,前往 Knowledge Catalog 术语库页面。

    前往“术语库”

  4. 选择 Gross Merchandise Value 术语,然后点击删除。

  5. 选择 Sales Metrics 类别,然后点击删除。

  6. 选择 Retail Business Glossary,然后点击删除。

后续步骤

如需详细了解如何使用 Knowledge Catalog 整理目录和构建代理,请参阅以下资源: