构建基础数据治理

您可能问过“此列名称是什么意思?”之类的问题,“谁拥有这个损坏的数据集?”或“此表是否已获准使用?”某些数据目录使用非结构化标记来添加此信息,但标记很快就会过时或不一致。Knowledge Catalog(以前称为 Dataplex Universal Catalog)可让您直接将结构化、基于架构的元数据和清晰的业务定义附加到数据资产,从而避免此问题。此方法有助于大规模构建程序化治理。

本教程介绍了如何开始在 Knowledge Catalog 中进行数据治理。本教程专为数据工程师、数据库管理员和数据架构师设计,将逐步介绍手动界面操作,帮助您在自动执行这些工作流程之前建立扎实的思维模式。它阐明了关键Knowledge Catalog 概念之间的关系。学完本课程后,您将了解如何让数据可被发现且值得信赖。

目标

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

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

准备工作

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

设置环境

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

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

  2. 在 Cloud Shell 中,设置 PROJECT_IDLOCATION 变量,以便所有未来的命令都针对您的特定 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 \
      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 "Retail data for governance codelab" \
    $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 的列是指商品交易总价值,还是包含税费或退货。业务术语库通过创建单一可靠来源来解决此问题,该来源将业务定义与技术细节分离。这可确保从销售团队到财务团队,每个人对“商品交易总值”等术语的理解都相同。

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

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

    前往“术语库”

  2. 点击创建业务术语库

  3. 输入以下详细信息:

    • Display nameRetail 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,另一个表标记为 contact:alice@example.com。您希望使用结构化架构,要求所有者信息采用有效的电子邮件格式。

为了满足这一需求,Knowledge Catalog 支持切面类型。切面类型就像是元数据的蓝图,可让您设置明确的规则和必需字段。这样可确保您日后添加的任何元数据都井井有条。

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

    前往“切面类型”

  2. 自定义标签页中,点击创建

  3. 输入以下详细信息:

    • Display nameData Asset Governance
    • 位置us-central1 (Iowa)
  4. 模板部分中,点击添加字段以创建以下三个字段:

    • 字段 1

      • Display nameData Steward
      • 类型Text
      • Is Required(为必填项):选中相应复选框。
      • 文本类型Plain text
    • 字段 2(点击添加字段):

      • Display nameData Sensitivity
      • 类型Enum
      • 是否必需:保留可选。
      • :添加 PublicInternalConfidential
    • 字段 3(点击添加字段):

      • Display nameLast Review Date
      • 是否必需:保留可选。
      • 类型Date and time
  5. 点击保存

现在,您拥有一个用于治理相关元数据字段(例如数据管家、敏感度级别和审核日期)的方面类型。在下一部分中,您将通过附加一个包含这些字段特定值的方面,将此架构应用于表格条目。

使用治理元数据丰富条目

列名称通常会缩写或含义模糊不清。将列与业务术语库中的术语相关联,可提供清晰一致的定义。在此步骤中,您将通过以下方式丰富 retail_data.transactions 表的条目:将 Gross Merchandise Value 字词与名为 gmv 的列相关联,并使用您的切面类型将切面附加到表条目。

为了明确说明 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 Governance 方面:

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

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

您现在已为 Knowledge Catalog 中的数据治理奠定了坚实的基础。

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

您已通过以下方式丰富了 retail_data.transactions 条目:将列与业务术语相关联,并附加切面。现在,您可以使用 Knowledge Catalog 搜索功能根据这些业务情境查找条目。例如,您可以查找具有特定敏感度级别的所有资产,也可以搜索您的术语表中的术语,以发现底层表。

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

    转到搜索

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

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

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

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

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

  7. 您应该会在结果中再次看到 retail_data.transactions 表,因为其 gmv 列与此业务术语直接相关。

清理

为避免产生费用,请删除您在本教程中创建的资源。

删除示例数据集

如需删除示例 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_governance 切面类型,然后点击删除

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

    前往“术语库”

  4. 选择 Gross Merchandise Value 字词,然后点击删除

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

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

后续步骤