在中验证数据质量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%

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

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

一个规则可以由多个简单的检查组成。你可以定义所有这些都应该是真的还是任何,例如:

  • 列中的值"ProductId"应该从开始"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 发送亚马逊 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" } }

你可以使用事件的属性,例如detail-typesource和的嵌套属性detail属性到创建事件模式在亚马逊 Eventbridge 中。例如,一种事件模式,用于匹配来自任何 DataBrew 工作将如下所示:

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

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

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

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

查看数据质量规则的验证数据
  1. 在存储库的 DataBrew 控制台,选择查看数据配置. 执行此操作将显示数据概述选项卡的数据集。

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

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

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

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

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

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

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

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