arrow_back

使用 Dataplex 进行数据质量评估

登录 加入
欢迎加入我们的社区,一起测试和分享您的知识!
done
学习 700 多个动手实验和课程并获得相关技能徽章

使用 Dataplex 进行数据质量评估

实验 1 小时 30 分钟 universal_currency_alt 1 个积分 show_chart 入门级
info 此实验可能会提供 AI 工具来支持您学习。
欢迎加入我们的社区,一起测试和分享您的知识!
done
学习 700 多个动手实验和课程并获得相关技能徽章

GSP1158

Google Cloud 自定进度实验

概览

Dataplex 是一种智能数据结构脉络,使组织能够跨数据湖、数据仓库和数据集市集中发现、管理、监控和治理其数据,从而实现大规模分析。

Dataplex 的一项非常有用的功能是,能够定义数据质量检查并对 BigQuery 表和 Cloud Storage 文件等 Dataplex 资产执行这些检查。利用 Dataplex 数据质量任务,您可以将数据质量检查融入日常工作流中,例如验证作为数据生产流水线一部分的数据、根据一组条件定期监控数据的质量,以及按照监管要求生成数据质量报告。

在本实验中,您将学习如何使用 Dataplex 进行数据质量评估。具体而言,您将创建一个自定义数据质量规范文件,然后使用该文件定义数据质量作业并对 BigQuery 数据运行该作业。

您将执行的任务

  • 创建 Dataplex 数据湖、区域和资产
  • 查询 BigQuery 表以检查数据质量
  • 创建并上传数据质量规范文件
  • 定义并运行数据质量作业
  • 查看数据质量作业的结果

设置和要求

点击“开始实验”按钮前的注意事项

请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 Google Cloud 资源可供您使用多长时间。

此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。我们会为您提供新的临时凭据,让您可以在实验规定的时间内用来登录和访问 Google Cloud。

为完成此实验,您需要:

  • 能够使用标准的互联网浏览器(建议使用 Chrome 浏览器)。
注意:请使用无痕模式或无痕浏览器窗口运行此实验。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。
  • 完成实验的时间 - 请注意,实验开始后无法暂停。
注意:如果您已有自己的个人 Google Cloud 账号或项目,请不要在此实验中使用,以避免您的账号产生额外的费用。

如何开始实验并登录 Google Cloud 控制台

  1. 点击开始实验按钮。如果该实验需要付费,系统会打开一个弹出式窗口供您选择付款方式。左侧是实验详细信息面板,其中包含以下各项:

    • 打开 Google Cloud 控制台按钮
    • 剩余时间
    • 进行该实验时必须使用的临时凭据
    • 帮助您逐步完成本实验所需的其他信息(如果需要)
  2. 点击打开 Google Cloud 控制台(如果您使用的是 Chrome 浏览器,请右键点击并选择在无痕式窗口中打开链接)。

    该实验会启动资源并打开另一个标签页,显示登录页面。

    提示:请将这些标签页安排在不同的窗口中,并将它们并排显示。

    注意:如果您看见选择账号对话框,请点击使用其他账号
  3. 如有必要,请复制下方的用户名,然后将其粘贴到登录对话框中。

    {{{user_0.username | "<用户名>"}}}

    您也可以在实验详细信息面板中找到用户名

  4. 点击下一步

  5. 复制下面的密码,然后将其粘贴到欢迎对话框中。

    {{{user_0.password | "<密码>"}}}

    您也可以在实验详细信息面板中找到密码

  6. 点击下一步

    重要提示:您必须使用实验提供的凭据。请勿使用您的 Google Cloud 账号凭据。 注意:在本次实验中使用您自己的 Google Cloud 账号可能会产生额外费用。
  7. 继续在后续页面中点击以完成相应操作:

    • 接受条款及条件。
    • 由于该账号为临时账号,请勿添加账号恢复选项或双重验证。
    • 请勿注册免费试用。

片刻之后,系统会在此标签页中打开 Google Cloud 控制台。

注意:如需查看列有 Google Cloud 产品和服务的菜单,请点击左上角的导航菜单导航菜单图标

激活 Cloud Shell

Cloud Shell 是一种装有开发者工具的虚拟机。它提供了一个永久性的 5GB 主目录,并且在 Google Cloud 上运行。Cloud Shell 提供可用于访问您的 Google Cloud 资源的命令行工具。

  1. 点击 Google Cloud 控制台顶部的激活 Cloud Shell “激活 Cloud Shell”图标

如果您连接成功,即表示您已通过身份验证,且当前项目会被设为您的 PROJECT_ID 环境变量所指的项目。输出内容中有一行说明了此会话的 PROJECT_ID

Your Cloud Platform project in this session is set to YOUR_PROJECT_ID

gcloud 是 Google Cloud 的命令行工具。它已预先安装在 Cloud Shell 上,且支持 Tab 自动补全功能。

  1. (可选)您可以通过此命令列出活跃账号名称:
gcloud auth list
  1. 点击授权

  2. 现在,输出的内容应如下所示:

输出:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (可选)您可以通过此命令列出项目 ID:
gcloud config list project

输出

[core] project = <project_ID>

输出示例

[core] project = qwiklabs-gcp-44776a13dea667a6 Note: For full documentation of gcloud, in Google Cloud, refer to the gcloud CLI overview guide.

启用 Dataproc API

  1. 在 Google Cloud 控制台顶部的搜索栏中,输入 Cloud Dataproc API

  2. 点击 Marketplace 下面的 Cloud Dataproc API 搜索结果。

  3. 点击启用

任务 1. 在 Dataplex 中创建数据湖、区域和资产

如需定义并运行数据质量任务,您需要先创建一些 Dataplex 资源。

在此任务中,您需要创建一个新的 Dataplex 数据湖来存储电子商务客户信息,向该数据湖添加一个原始区域,然后将预先创建的 BigQuery 数据集作为新资产附加到该区域中。

创建数据湖

  1. 在 Google Cloud 控制台的导航菜单 (导航菜单) 中,点击分析 > Dataplex

如果系统提示欢迎体验新版 Dataplex,请点击关闭

  1. 点击管理数据湖下的管理

  2. 点击创建数据湖

  3. 输入所需信息以新建数据湖:

属性
显示名称 Ecommerce Lake
ID 保留默认值。
资源区域 (region)

保留其他默认值。

  1. 点击创建

数据湖创建过程最长可能需要 3 分钟。

向数据湖添加区域

  1. 管理标签页上,点击数据湖的名称。

  2. 点击添加区域

  3. 输入所需信息以创建新的区域:

属性
显示名称 Customer Contact Raw Zone
ID 保留默认值。
类型 原始区域
数据位置 区域级

保留其他默认值。

例如,默认情况下,发现设置下的启用元数据发现选项处于选中状态,允许获得授权的用户发现区域中的数据。

  1. 点击创建

区域创建过程最长可能需要 2 分钟。

在区域的状态变为有效后,您可以执行下一项任务。

将资产附加到区域

  1. 区域标签页上,点击您创建的区域的名称。

  2. 资产标签页上,点击添加资产

  3. 点击添加资产

  4. 输入所需信息以附加新资产:

属性
类型 BigQuery 数据集
显示名称 Contact Info
ID 保留默认值。
数据集 .customers

保留其他默认值。

  1. 点击完成

  2. 点击继续

  3. 发现设置中,选择继承以继承区域级别的发现设置,然后点击继续

  4. 点击提交

点击“检查我的进度”以验证是否完成了以下目标: 在 Dataplex 中创建数据湖、区域和资产

任务 2. 查询 BigQuery 表以检查数据质量

在上一项任务中,您根据预先为本实验创建的 BigQuery 数据集 customers 创建了一项新的 Dataplex 资产。此数据集包含表 contact_info,该表包含了一家虚构电子商务公司的客户的原始联系信息。

在本任务中,您需要查询此表,以确定可以作为检查项目包含在数据质量作业中的一些潜在数据质量问题。此外,您还需要确定可用于在后续任务中存储数据质量作业结果的另一个预先创建的数据集。

  1. 在 Google Cloud 控制台的导航菜单 (导航菜单) 中,点击 BigQuery > SQL 工作区

  2. 在“探索器”窗格中,展开您项目 ID 旁边的箭头列出内容:

除了您使用 Dataplex 创建的数据集 customer_contact_raw_zone(用于管理该区域)之外,此处还列出了两个预先为本实验创建的 BigQuery 数据集:

  • customers
  • customers_dq_dataset

数据集 customers 包含一个名为 contact_info 的表,该表包含了客户的联系信息,例如客户 ID、姓名、电子邮件地址等。这是您要在本实验中探索和检查数据质量问题的表。

数据集 customers_dq_dataset 不包含任何表。在后续任务中定义数据质量作业时,您可以将此数据集用作包含数据质量作业结果的新表的目标位置。

BigQuery 数据集列表

  1. 在 SQL 编辑器中,点击编写新查询。粘贴以下查询,然后点击运行
SELECT * FROM `{{{project_0.project_id}}}.customers.contact_info` ORDER BY id LIMIT 50

此查询会从原始表中选择 50 条记录,并在结果中按照客户 ID 对这些记录进行排序。

  1. 结果窗格中滚动浏览结果。

请注意,一些记录缺少客户 ID 或者包含错误的电子邮件地址,这可能会导致难以管理客户订单。

contact-info 表中的数据不完整

点击“检查我的进度”以验证是否完成了以下目标: 查询 BigQuery 表以检查数据质量

任务 3. 创建并上传数据质量规范文件

Dataplex 数据质量检查要求是使用 CloudDQ YAML 规范文件定义的。创建完毕后,YAML 规范文件会被上传到可供数据质量作业访问的 Cloud Storage 存储桶。

YAML 文件主要包含以下四个部分:

  • 要运行的规则(预定义或自定义规则)的列表
  • 行过滤条件,用于选择一部分数据进行验证
  • 规则绑定,用于对表应用已定义的规则
  • 可选规则维度,用于指定 YAML 文件可以包含的规则的类型

在此任务中,您需要定义一个用于数据质量检查的新 YAML 规范文件,这些检查会找到指定 BigQuery 表中的 null 客户 ID 和电子邮件地址。定义该文件后,您可以将其上传到预先创建的 Cloud Storage 存储桶,以便在后续任务中使用该文件来运行数据质量作业。

创建数据质量规范文件

  1. 在 Cloud Shell 中运行以下命令,新建空的数据质量规范文件:
nano dq-customer-raw-data.yaml
  1. 粘贴以下代码:
metadata_registry_defaults: dataplex: projects: {{{project_0.project_id | Project ID}}} locations: {{{project_0.default_region | Region}}} lakes: ecommerce-lake zones: customer-contact-raw-zone row_filters: NONE: filter_sql_expr: |- True INTERNATIONAL_ITEMS: filter_sql_expr: |- REGEXP_CONTAINS(item_id, 'INTNL') rule_dimensions: - consistency - correctness - duplication - completeness - conformance - integrity - timeliness - accuracy rules: NOT_NULL: rule_type: NOT_NULL dimension: completeness VALID_EMAIL: rule_type: REGEX dimension: conformance params: pattern: |- ^[^@]+[@]{1}[^@]+$ rule_bindings: VALID_CUSTOMER: entity_uri: bigquery://projects/{{{project_0.project_id | Project ID}}}/datasets/customers/tables/contact_info column_id: id row_filter_id: NONE rule_ids: - NOT_NULL VALID_EMAIL_ID: entity_uri: bigquery://projects/{{{project_0.project_id | Project ID}}}/datasets/customers/tables/contact_info column_id: email row_filter_id: NONE rule_ids: - VALID_EMAIL
  1. 查看代码以确定此文件中定义的两条主要数据质量规则。

dq-customer-raw-data.yaml 文件的开头部分是一些关键参数,用于确定包括项目 ID、资源区域以及 Dataplex 数据湖和区域的名称在内的 Dataplex 资源。

接下来,它指定了允许的规则维度和两条主要规则:

  • NOT_NULL 值的规则是指完整性维度,例如 null 值。
  • VALID_EMAIL 值的规则是指合规性维度,例如无效值。

最后,使用规则绑定将这些规则绑定至实体(表)和列,以进行数据质量验证:

  • 第一个规则绑定 VALID_CUSTOMER 用于将 NOT_NULL 规则绑定至表 contact_infoid 列,这样将验证 ID 列是否包含任何 NULL 值。
  • 第二个规则绑定 VALID_EMAIL_ID 用于将 VALID_EMAIL 规则绑定至表 contact_infoemail 列,这样将检查电子邮件地址是否有效。
  1. 按下 Ctrl+X,然后按 Y 以保存并关闭该文件。

将文件上传到 Cloud Storage

  • 在 Cloud Shell 中运行以下命令,将文件上传到已为本实验创建的 Cloud Storage 存储桶:
gsutil cp dq-customer-raw-data.yaml gs://{{{project_0.project_id | Project ID}}}-bucket

点击“检查我的进度”以验证是否完成了以下目标: 创建并上传数据质量规范文件

任务 4. 在 Dataplex 中定义并运行数据质量作业

数据质量流程使用数据质量规范 YAML 文件来运行数据质量作业,并生成将写入 BigQuery 数据集中的数据质量指标。

在此任务中,您需要使用在上一项任务中上传到 Cloud Storage 的数据质量规范 YAML 文件来定义并运行数据质量作业。定义此作业时,您还需要指定预先创建的 BigQuery 数据集 customer_dq_dataset 以存储数据质量结果。

  1. 在 Google Cloud 控制台的导航菜单 (导航菜单) 中,点击分析 > Dataplex

  2. 点击管理数据湖下的处理

  3. 点击创建任务

  4. 点击“检查数据质量”下的创建任务

  5. 输入所需信息创建一个新的数据质量作业:

属性
Dataplex 数据湖 ecommerce-lake
显示名称 Customer Data Quality Job
ID 保留默认值。
选择 GCS 文件 -bucket/dq-customer-raw-data.yaml
选择 BigQuery 数据集 .customers_dq_dataset
BigQuery 表 dq_results
用户服务账号 Compute Engine 默认服务账号

保留其他默认值。

请注意,本实验已预配置 Compute Engine 默认服务账号,以便您拥有适当的 IAM 角色和权限。如需了解详情,请参阅 Dataplex 文档创建服务账号

  1. 点击继续

  2. 开始中,选择立即

  3. 点击创建

作业可能需要数分钟才能运行完毕。您可能需要刷新页面才能看到作业已成功运行。

成功运行的作业的状态

点击“检查我的进度”以验证是否完成了以下目标: 在 Dataplex 中定义并运行数据质量作业

任务 5. 在 BigQuery 中查看数据质量结果

在此任务中,您需要查看 customers_dq_dataset 中的表,找到缺少客户 ID 值或者电子邮件地址值无效的记录。

  1. 在 Google Cloud 控制台的导航菜单 (导航菜单) 中,点击 BigQuery > SQL 工作区

  2. 在“探索器”窗格中,展开您项目 ID 旁边的箭头列出内容:

  3. 展开 customer_dq_dataset 数据集旁边的箭头。

  4. 点击 dq_summary 表。

  5. 点击预览标签页查看结果。

dq summary 表提供了有关整体数据质量的有用信息,包括已确定不符合数据质量规范文件中所定义的两条规则的记录数量。

  1. 滚动到最后一列 failed_records_query

  2. 点击第一行中的向下箭头展开文本,查看 VALID_EMAIL 规则结果对应的整个查询。

请注意,该查询非常长,以 ORDER BY _dq_validation_rule_id 结尾。

  1. 点击编写新查询。复制该查询并将其粘贴到 SQL 编辑器中,然后点击运行

查询结果会提供 contact_info 表中无效的电子邮件地址值。

VALID_EMAIL 的数据质量结果

  1. 对于包含 VALID_CUSTOMER 规则结果对应查询的第二个单元,重复第 7 步和第 8 步。

查询结果表明,contact_info 表中有 10 条缺少 ID 值的记录。

VALID_CUSTOMER 的数据质量结果

点击“检查我的进度”以验证是否完成了以下目标: 在 BigQuery 表中查看数据质量结果

恭喜!

通过创建自定义数据质量规范文件并使用该文件对 BigQuery 表运行数据质量作业,您完成了使用 Dataplex 进行数据质量评估的任务。

Google Cloud 培训和认证

…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。

上次更新手册的时间:2023 年 7 月 4 日

上次测试实验的时间:2023 年 7 月 4 日

版权所有 2025 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。

此内容目前不可用

一旦可用,我们会通过电子邮件告知您

太好了!

一旦可用,我们会通过电子邮件告知您