构建政策即代码数据质量工作流

构建基于代码的数据质量和元数据丰富工作流。本教程介绍了如何通过在声明性、受版本控制的文件中定义数据质量预期,来摆脱手动流程。

通过建立自动剖析和数据质量规则,您可以使用信任信号和业务情境来丰富元数据。

借助Human-in-the-Loop方法,即由 AI 起草初始规则,然后您进行审核、完善和验证,您可以快速将剖析统计信息转化为数据质量框架。

目标

  • 使用具体化视图展平嵌套的 BigQuery 数据,以启用 Knowledge Catalog 分析。
  • 使用 Python 客户端库运行 Knowledge Catalog 分析扫描。
  • 使用 Antigravity CLI 根据分析统计信息生成数据质量规则。
  • 通过人机协同审核流程,验证并部署 AI 生成的规则,将其作为 Knowledge Catalog 质量扫描。

准备工作

在开始之前,请确保您有一个启用了结算功能的 Google Cloud 项目。

准备环境

以下步骤使用 Cloud Shell,它是在云端运行的命令行环境。

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

  2. 在 Cloud Shell 中,设置您的项目 ID 和环境变量:

    export PROJECT_ID=$(gcloud config get-value project)
    gcloud config set project $PROJECT_ID
    export LOCATION="us-central1"
    export BQ_LOCATION="us"
    export DATASET_ID="kc_dq_codelab"
    export TABLE_ID="ga4_transactions"
    

    使用 us(多区域)作为位置,因为公共示例数据也位于 us(多区域)中。对于 BigQuery 查询,源数据和目标表必须位于同一位置。

  3. 启用必需的服务:

    gcloud services enable dataplex.googleapis.com \
                           bigquery.googleapis.com \
                           serviceusage.googleapis.com \
                           aiplatform.googleapis.com
    
  4. 创建 BigQuery 数据集来存储示例数据和结果:

    bq --location=us mk --dataset $PROJECT_ID:$DATASET_ID
    
  5. 准备示例数据,这些数据来自 Google Merchandise Store 的公开电子商务数据集。

    以下 bq 命令会在 kc_dq_codelab 数据集中创建一个新表 ga4_transactions。为确保扫描快速运行,此命令仅复制一天(2021-01-31)的数据。

    bq query \
    --use_legacy_sql=false \
    --destination_table=$PROJECT_ID:$DATASET_ID.$TABLE_ID \
    --replace=true \
    'SELECT * FROM `bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_20210131`'
    
  6. 克隆包含本教程的文件夹结构和支持文件的 GitHub 代码库:

    # Perform a shallow clone to get only the latest repository structure without the full history
    git clone --depth 1 --filter=blob:none --sparse https://github.com/GoogleCloudPlatform/devrel-demos.git
    cd devrel-demos
    
    # Specify and download only the folder we need for this lab
    git sparse-checkout set data-analytics/programmatic-dq
    cd data-analytics/programmatic-dq
    

    此目录是您的有效工作区。

分析嵌套数据

借助数据分析,Knowledge Catalog 可以查找顶级列的统计信息,例如数据中的 null 百分比、唯一性和值分布,帮助您了解数据。

如需获取嵌套字段的统计信息,您可以使用一组物化视图来展平数据。这会将每个嵌套字段转换为 Knowledge Catalog 可以分析的顶级列。

获取嵌套架构

获取源表的完整架构(包括所有嵌套结构),并将输出保存为 JSON 文件: