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

Amazon Glue 数据质量自动监测功能中的异常检测

注意

在以下区域中提供 Amazon Glue Data Quality 预览版:

  • 美国东部(俄亥俄州、北弗吉尼亚州)

  • 美国西部(俄勒冈)

  • 亚太地区(东京)

  • 欧洲地区(爱尔兰)

Amazon Glue 数据质量异常检测将机器学习(ML)算法应用于一段时间内的数据统计信息,以检测难以通过规则检测到的异常模式和隐藏的数据质量问题。目前,异常检测仅适用于 Amazon Glue 4.0。此功能目前仅在 Amazon Glue Studio Visual ETL 和 Amazon Glue ETL 中提供。此功能不适用于 Amazon Glue Studio 笔记本、Amazon Glue Data Catalog、Amazon Glue 交互式会话和 Amazon Glue 数据预览。

工作方式

在评估数据质量规则时,Amazon Glue 会捕获确定数据是否符合规则所需的数据统计信息。例如,数据质量自动监测功能将计算数据集中不同值的数量,然后将该值与预期值进行比较。

数据质量规则引擎将统计值与定义的阈值进行比较,然后评估您的质量要求。由于这些统计信息是随着时间的推移而收集的,因此您可以在 ETL 管道上启用异常检测,让 Amazon Glue 从过去的统计信息中学习,并将隐藏的模式报告为观测值。观测值是 Amazon Glue ML 算法所识别的未经证实的见解。其附带了推荐的数据质量规则,您可以将这些规则应用于自己的规则集,以监测发现的模式。我们建议定期运行作业(例如,每小时和每天)。不规律的运行可能会产生糟糕的见解。


        屏幕截图显示了数据质量异常检测流程。

使用分析器检查您的数据

有时,您可能没有时间制定数据质量规则。这就是分析器派上用场的地方。分析器是您规则集的一部分,配置非常简单。例如,您可以在自己的规则集中编写以下内容:

Analzyers = [ RowCount, Completeness “AllColumns” ]

这将收集以下统计信息:

  • 整个数据集的行数

  • 数据集中每列的完整性

我们建议使用分析器,因为这样您就不必担心阈值问题。您可以运行数据管道,运行三次后,Amazon Glue 数据质量自动监测功能将在发现任何异常时开始生成观测值和规则建议。您可以查看观测值和相关统计信息,并可以轻松地将规则建议纳入规则集。要了解其用法,请参阅 配置异常检测并生成见解 。请注意,分析器不会影响数据质量分数。其生成的统计信息可以随着时间的推移进行分析以生成观测值。

使用 DetectAnomaly 规则

有时,您希望您的作业在检测到异常时失败。要强制执行约束,必须配置一条规则。分析器无法阻止作业。相反,其将收集统计信息并分析数据。在规则集的规则部分配置 DetectAnomaly 规则将确认 DQ 扫描报告作业未能通过扫描中的所有规则。

异常检测的好处和用例

工程师可以在任何给定时间,管理数百个数据管道。每个管道都可以从不同的来源提取数据,并将其加载到数据湖中。由于每个管道都可能从不同的来源提取数据,并将其加载到数据湖中,因此很难立即获得有关数据的反馈:无论是其形状发生了重大变化,还是与现有趋势背道而驰。

过去,上游数据来源在没有向数据工程团队发出警告的情况下发生了变化,从而在这一过程中引入了难以跟踪的“数据错误”。通过向作业添加数据质量节点,这使生活变得更加轻松,因为当发现问题时,作业就会失败。但是,这并不能消除数据团队担心的所有故障模式,这为其他数据错误的出现敞开了大门。

一种故障模式是围绕数据量。由于公司的数据存储随着时间的推移而增长,数据管道生成的记录数量可能会呈指数级增长。每周,数据团队可能需要手动更新 ETL 作业,以增加每条设置采集行数限制的数据质量规则。

另一种故障模式是,某些数据质量规则的限制非常宽泛,以适应交易量因一周中的某一天而异的事实。周末几乎没有交易,而周一的交易量约为其他工作日的三倍。数据团队有两种选择:实施逻辑以根据日期动态更改规则集,或设置非常广泛的期望。

最后,数据团队还关注定义不太明确的数据错误。模型已经根据具有特定特征的数据进行了训练,如果这些数据开始以意想不到的方式出现偏差,团队希望得到通知。例如,2 月份,一家公司可能会扩展到蒙大拿州,因此开头包含“MT”代码的交易会更频繁地出现。这可能会破 ML 推断,因此,模型错误地预测了蒙大拿州的每笔交易都是欺诈性的。

这就是数据质量异常检测可以帮助解决这些问题的地方。数据质量异常检测的一些好处包括:

  • 按计划、事件驱动或手动扫描数据。

  • 检测可能表明意外事件、季节性或统计异常的异常。

  • 提供规则建议,以便对数据质量异常检测发现的观测值采取措施。

这在以下情况下时很有用:

  • 您想要自动检测数据中的异常情况,而无需写入数据质量规则。

  • 您想要捕捉数据中仅靠数据质量规则无法发现的潜在问题。

  • 您想要自动执行一些随时间推移而演变的任务,例如限制为监测数据质量而提取的行数。