验证中的数据质量 Amazon Glue DataBrew - Amazon Glue DataBrew
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

验证中的数据质量 Amazon Glue DataBrew

为确保数据集的质量,可以在规则集中定义数据质量规则列表。规则集是一组规则,用于将不同的数据指标与预期值进行比较。如果未满足任何规则的标准,则整个规则集将无法通过验证。然后,您可以检查每条规则的单独结果。对于任何导致验证失败的规则,您可以进行必要的更正并重新验证。

以下为规则示例:

  • 列中的值介"APY"于 0 和 100 之间

  • 列中缺失值的数量group_name不超过 5%

您可以为单个列定义每条规则,也可以将其单独应用于多个选定列,例如:

  • "rate""pay"列的最大值不超过 100 "increase"

一个规则可以由多个简单的检查组成。你可以定义它们是全部为真还是任意,例如:

  • 列中的值"ProductId"应以 AND 开头"asin-",列中值的长度"ProductId"为 32。

您可以根据聚合值(例如maxmin、或)仅比较一个值的number of duplicate values聚合值或列中每行中的非聚合值来验证规则。在后一种情况下,您还可以定义 “通过” 阈值,例如value in columnA > value in columnB for at least 95% of rows

与配置文件信息一样,您只能为简单类型的列(例如字符串和数字)定义列级数据质量规则。您无法为复杂类型的列(例如数组或结构)定义数据质量规则。有关使用个人资料信息的更多详细信息,请参阅创建和使用 Amazon Glue DataBrew 个人资料职位

验证数据质量规则

定义规则集后,您可以将其添加到配置文件作业中进行验证。您可以为一个数据集定义多个规则集。

例如,一个规则集可能包含具有最低可接受标准的规则。该规则集的验证失败可能意味着该数据不可进一步使用。例如,用于机器学习训练的数据集的关键列中缺少值。您可以使用具有更严格规则的第二个规则集来验证数据集的质量是否如此之好,以至于不需要清理。

您可以在配置文件作业配置中应用为给定数据集定义的一个或多个规则集。配置文件作业运行时,除了数据配置文件外,它还会生成验证报告。验证报告与您的个人资料数据位于同一位置。与个人资料信息一样,您可以在 DataBrew控制台中浏览结果。在数据集详细信息视图中,选择数据质量选项卡以查看结果。有关使用个人资料信息的更多详细信息,请参阅创建和使用 Amazon Glue DataBrew 个人资料职位

根据验证结果执行操作

DataBrew 配置任务完成后, DataBrew 会发送一个 Amazon CloudWatch 事件,其中包含该任务运行的详细信息。如果您还将作业配置为验证数据质量规则,则会为每个经过验证的规则集 DataBrew发送一个事件。该事件包含其结果(SUCCEEDEDFAILED、或ERROR)以及指向详细数据质量验证报告的链接。然后,您可以根据验证状态通过调用下一个操作来自动执行进一步的操作。有关将事件与目标操作(例如 Amazon SNS 通知、 Amazon Lambda 函数调用等)关联的更多信息,请参阅 Amazon 入。 EventBridge

下面是 DataBrew 验证结果事件的示例:

{ "version": "0", "id": "fb27348b-112d-e7c2-560d-85e7c2c09964", "detail-type": "DataBrew Ruleset Validation Result", "source": "aws.databrew", "account": "123456789012", "time": "2021-11-18T13:15:46Z", "region": "us-east-1", "resources": [], "detail": { "datasetName": "MyDataset", "jobName": "MyProfileJob", "jobRunId": "db_f07954d20d083de0c1fc1eee11498d8635ee5be4ca416af27d33933e91ff4e6e", "rulesetName": "MyRuleset", "validationState": "FAILED", "validationReportLocation": "s3://MyBucket/MyKey/MyDataset_f07954d20d083de0c1fc1eee11498d8635ee5be4ca416af27d33933e91ff4e6e_dq-validation-report.json" } }

您可以在 Amazon Eventbridge 中使用事件的detail属性(例如)source和属性的嵌套属性来创建事件模式detail-type例如,匹配任何 DataBrew 作业中所有失败验证的事件模式如下所示:

{ "source": ["aws.databrew"], "detail-type": ["DataBrew Ruleset Validation Result"], "detail": { "validationState": ["FAILED"] } }

有关创建规则集并验证其规则的示例,请参阅。创建包含数据质量规则的规则集有关在中处理 CloudWatch 事件的更多信息 DataBrew,请参阅 DataBrew 使用 CloudWatch 事件自动化

检查验证结果并更新数据质量规则

配置文件任务完成后,您可以查看数据质量规则的验证结果,并根据需要更新规则。

要查看数据质量规则的验证数据
  1. 在 DataBrew 控制台上,选择查看数据配置文件。这样做会显示数据集的数据配置文件概述选项卡。

  2. 选择数据质量规则选项卡。在此选项卡上,您可以查看所有数据质量规则的结果。

  3. 选择单个规则,了解有关该规则的更多详细信息。

对于任何未通过验证的规则,您可以进行必要的更正。

更新数据质量规则
  1. 在导航窗格上,选择 DQ 规则

  2. 数据质量规则集名称下,选择包含您计划编辑的规则的数据集。

  3. 选择要更改的规则,然后选择编辑

  4. 进行必要的更正,然后选择 “更新规则集”。

  5. 重新运行作业。重复此过程,直到所有验证通过。