

# AWS Glue Data Quality
<a name="glue-data-quality"></a>

AWS Glue Data Quality 帮助您衡量和监控数据质量，从而做出明智的业务决策。AWS Glue Data Quality 建立在开源 DeeQu 框架之上，提供托管的无服务器体验。AWS GlueData Quality 使用数据质量定义语言（DQDL），这是一种特定领域的语言，用于定义数据质量规则。要了解有关 DQDL 和支持的规则类型的更多信息，请参阅 [数据质量定义语言（DQDL）引用](dqdl.md)。

有关产品详细信息和定价，请参阅 [AWS Glue Data Quality](https://aws.amazon.com/glue/features/data-quality) 服务页面。

## 优点和主要功能
<a name="glue-data-quality-key-features"></a>

 AWS Glue 数据质量自动监测功能的优点和主要功能包括：
+  **无服务器** – 无需安装、修补或维护。
+  **快速入门** — AWS Glue Data Quality 可快速分析您的数据并为您创建数据质量规则。只需点击两下即可开始：“创建数据质量规则 → 推荐规则”。
+  **检测数据质量问题** – 使用机器学习（ML）检测异常和难以检测的数据质量问题。
+  **即兴制定规则** — 从超过 25 个开箱即用的 DQ 规则开始，您可以创建适合自己特定需求的规则。
+  **评估质量并做出自信的业务决策** — 评估规则后，您将获得一个数据质量分数，该分数可以概述数据的运行状况。使用数据质量分数做出自信的业务决策。
+  **聚焦不良数据** — AWS Glue Data Quality 可帮助您识别导致质量分数下降的确切记录。轻松识别它们，对其进行隔离和修复。
+  **按实际使用量付费** – 无需年度许可证即可使用 AWS Glue 数据质量自动监测功能。
+  **无锁定** — AWS Glue Data Quality 建立在开源 DeeQu 之上，允许您保留以开放语言编写的规则。
+  **数据质量检查** – 您可以对 Data Catalog 和 AWS Glue ETL 管道进行数据质量检查，从而管理静态和传输中的数据质量。
+  **基于 ML 的数据质量检测** – 使用机器学习（ML）检测异常和难以检测的数据质量问题。
+  **表达规则的开放性语言** – 确保简单一致地编写数据质量规则。业务用户可以用他们能理解的简单语言轻松地表达数据质量规则。对于工程师来说，这种语言可以让他们更灵活地生成代码、实现一致的版本控制并进行自动部署。

## 工作原理
<a name="glue-data-quality-how-it-works"></a>

AWS Glue Data Quality 有两个入口点：AWS Glue Data Catalog 和 AWS Glue ETL 作业。本节概述了每个入口点支持的用例和 AWS Glue 功能。

### AWS Glue Data Catalog 的数据质量
<a name="glue-data-quality-for-data-catalog"></a>

AWS Glue 数据质量评估存储在 AWS Glue Data Catalog 中的对象。这为非编码人员提供设置数据质量规则的简便方法。这些角色包括数据管理员和业务分析师。



[![AWS Videos](http://img.youtube.com/vi/rK1NGQu4Sgg/0.jpg)](http://www.youtube.com/watch?v=rK1NGQu4Sgg)




您可以为以下用例选择此选项：
+ 您想对已在 AWS Glue Data Catalog 中编目的数据集执行数据质量任务。
+ 您从事数据治理工作，需要持续识别或评估数据湖中的数据质量问题。

您可以使用以下界面管理 Data Catalog 的数据质量：
+ AWS Glue 管理控制台
+ AWS Glue API

要开始为 AWS Glue Data Catalog 使用 AWS Glue Data Quality，请参阅 [AWS Glue Data Quality for the Data Catalog 入门](data-quality-getting-started.md)。

### AWS Glue ETL 作业的数据质量
<a name="glue-data-quality-for-etl"></a>

适用于 AWS Glue ETL 的 AWS Glue Data Quality 允许您*主动*执行数据质量任务。主动任务可帮助您在将数据集加载到数据湖*之前*识别并筛选出不良数据。

[![AWS Videos](http://img.youtube.com/vi/DUd5s_CFtBM/0.jpg)](http://www.youtube.com/watch?v=DUd5s_CFtBM)


您可以针对以下用例为 ETL 作业选择数据质量：
+ 您想将数据质量任务整合到您的 ETL 作业中
+ 您想编写在 ETL 脚本中定义数据质量任务的代码
+ 您想管理可视化数据管道中流出的数据的质量

您可以使用以下界面管理适用于 ETL 作业的数据质量：
+ AWS Glue Studio、AWS Glue Studio 笔记本和 AWS Glue 交互式会话
+ 用于 ETL 脚本的 AWS Glue 库
+ AWS Glue API

要开始了解适用于 ETL 作业的数据质量，请参阅《AWS Glue Studio 用户指南》**中的 [Tutorial: Getting started with Data Quality](https://docs.aws.amazon.com/glue/latest/ug/gs-data-quality-chapter.html)。

### 将 Data Catalog 的数据质量与适用于 ETL 作业的数据质量进行比较
<a name="glue-data-quality-compare"></a>

下表概述了 AWS Glue Data Quality 支持的每个入口点的功能。


****  

| 功能 | Data Catalog 的数据质量 | ETL 作业的数据质量 | 
| --- | --- | --- | 
| 数据来源 | 支持 Amazon S3、Amazon Redshift、与 Data Catalog 兼容的 JDBC 源，以及 Apache Iceberg、Apache Hudi 和 Delta Lake 等事务型数据湖格式。也支持 AWS Lake Formation 托管式 OTF 格式，但存在限制。不支持在 AWS Glue Data Catalog 中编目的 Amazon Athena 视图。请参阅 [支持的源类型](data-quality-getting-started.md#data-quality-get-started-supported-source-types)。 | AWS Glue 支持的所有数据来源，包括自定义连接器和第三方连接器。 | 
| 数据质量规则建议 | 支持 | 不支持 | 
| 编写并运行 DQDL 规则 | 支持 | 支持 | 
| 自动扩缩 | 不支持 | 支持 | 
| AWS Glue Flex 支持 | 不支持 | 支持 | 
| 计划 | 在评估 Data Quality 规则时和通过 Step Functions 时支持。 | 使用 Step Functions 和工作流程时支持。 | 
| 识别未通过数据质量检查的记录 | 不支持 | 支持 | 
| 与 Amazon EventBridge 集成 | 支持 | 支持 | 
| 将 AWS CloudWatch 集成 | 支持 | 支持 | 
| 将数据质量结果写入 Amazon S3 | 支持 | 支持 | 
| 增量数据质量 | 通过下推谓词支持 | 通过 AWS Glue 书签支持 | 
| AWS CloudFormation 支持 | 支持 | 支持 | 
| 基于 ML 的异常检测 | 不支持 | 支持 | 
| 动态规则 | 不支持 | 支持 | 

## 注意事项
<a name="glue-data-quality-considerations"></a>

在使用 AWS Glue 数据质量自动监测功能之前，请考虑以下各项：
+ 数据质量规则无法评估嵌套或列表类型的数据源。请参阅[扁平化嵌套结构](transforms-flatten.md)。

## 术语
<a name="data-quality-terms"></a>

下表定义了与 AWS Glue Data Quality 相关的术语。

**数据质量定义语言（DQDL）**  
一种特定领域的语言，可用于编写 AWS Glue Data Quality 规则。  
要了解有关 DQDL 的更多信息，请参阅[数据质量定义语言（DQDL）引用](dqdl.md)指南。

**数据质量 **  
描述数据集在多大程度上发挥其特定用途。AWS GlueData Quality 根据数据集评估规则以衡量数据质量。每条规则都检查特定特征，例如数据新鲜度或完整性。要量化数据质量，可以使用*数据质量分数*。

**数据质量分数**  
当您使用 AWS Glue 数据质量评估规则集时，通过（结果为真）的数据质量规则的百分比。

**规则**  
DQDL 表达式，用于检查您的数据是否存在特定特征并返回布尔值。有关更多信息，请参阅 [规则结构](dqdl.md#dqdl-syntax-rule-structure)。

**分析器**  
用于收集数据统计信息的 DQDL 表达式。分析器收集的数据统计信息，ML 算法可以使用这些统计信息来检测一段时间内的异常情况和难以检测的数据质量问题。

**规则集**  
一种包含一组数据质量规则的 AWS Glue 资源。规则集必须与 AWS Glue Data Catalog 中的一个表格关联。保存规则集时，AWS Glue 会为规则集分配一个 Amazon 资源名称(ARN)。

**数据质量分数**  
当您使用 AWS Glue 数据质量评估规则集时，通过（结果为真）的数据质量规则的百分比。

**观测值**  
AWS Glue 通过分析一段时间内从规则和分析器收集的数据统计信息得出的未经证实的见解。

## 限制
<a name="data-quality-limits"></a>

 AWS Glue 数据质量自动监测功能服务限制：
+  一个规则集中可以有 2000 个规则。如果您的规则集较大，我们建议将其拆分成多个规则集。
+  规则集的大小为 65 KB。如果您的规则集较大，我们建议将其拆分成多个规则集。
+  创建规则或分析器时，AWS Glue 数据质量自动监测功能会收集统计信息。存储这些统计信息不会产生任何费用。但是，每个账户的统计信息上限为 10 万条，并且这些统计信息最多保留两年。

## AWS Glue Data Quality 发布说明
<a name="data-quality-release-notes"></a>

本主题介绍了 AWS Glue Data Quality 中引入的功能。

### 正式上市：新功能
<a name="data-quality-release-notes-ga"></a>

随着 AWS Glue Data Quality 的正式上市，将提供以下新功能：
+ 现在 AWS Glue Studio 支持识别哪些记录未通过数据质量检查的功能
+ 新的数据质量规则类型，例如验证两个数据集之间数据的引用完整性、比较两个数据集之间的数据以及数据类型检查
+ 改善了 AWS Glue Data Catalog 中的用户体验
+ 支持 Apache Iceberg、Apache Hudi 和 Delta Lake
+ 支持 Amazon Redshift
+ 使用 Amazon EventBridge 简化通知
+ AWS CloudFormation 支持创建规则集
+ 性能改进：ETL 和 AWS Glue Studio 中的缓存选项以及评估数据质量时更快的性能

### 2023 年 11 月 27 日（预览版）
<a name="data-quality-release-notes-preview"></a>
+  由 ML 提供支持的异常检测功能现已在 AWS Glue ETL 和 AWS Glue Studio 中提供。凭借此功能，您现在可以检测异常和难以检测的数据质量问题 
+  [动态规则允许您提供动态阈值（例如：`RowCount> avg(last(10))`）](https://docs.aws.amazon.com/glue/latest/dg/dqdl.html#dqdl-dynamic-rules) 

### 2024 年 3 月 12 日
<a name="data-quality-release-notes-mar12"></a>
+  DQDL 改进 
  +  [支持 NULL、BLANKS、WHITESPACES\_ONLY 等关键字](dqdl.md#dqdl-keywords-null-empty-whitespaces_only) 
  +  [用于指定 AWS Glue 数据质量必须如何处理复合规则的选项](dqdl.md#dqdl-syntax-rule-composition) 
  +  [ColumnValues 规则类型不允许在比较期间传递 NULL 值](dqdl.md#dqdl-keywords-null-empty-whitespaces_only) 
  +  [在 DQDL 中支持 NOT 运算符](dqdl.md#dqdl-syntax-rule-expressions) 

### 2024 年 6 月 26 日
<a name="data-quality-release-notes-jun26"></a>
+ DQDL 改进
  + DQDL 现在支持 [where 子句](dqdl.md#dqdl-filtering-data-in-dqdl)，这样您就可以在应用 DQ 规则之前筛选数据

### 2024 年 8 月 7 日
<a name="data-quality-release-notes-aug7"></a>
+ 异常检测和动态规则现已正式发布

### 2024 年 11 月 22 日
<a name="data-quality-release-notes-nov22-2024"></a>
+  [复杂的复合规则允许您编写具有嵌套支持的更复杂的业务规则](https://docs.aws.amazon.com/glue/latest/dg/dqdl.html#dqdl-syntax-rule-composition) 
+  用于管理文件的数据质量的新规则类型 
  +  [ FileFreshness ](https://docs.aws.amazon.com/glue/latest/dg/dqdl-rule-types-FileFreshness) 
  +  [ FileSize ](https://docs.aws.amazon.com/glue/latest/dg/dqdl-rule-types-FileSize) 
  +  [ FileUniqueness ](https://docs.aws.amazon.com/glue/latest/dg/dqdl-rule-types-FileUniqueness) 
  +  [ FileMatch ](https://docs.aws.amazon.com/glue/latest/dg/dqdl-rule-types-FileMatch) 
+ Visual ETL 作业中的默认数据质量检查

### 2024 年 12 月 6 日
<a name="data-quality-release-notes-dec6-2024"></a>
+ AWS Glue 数据质量自动监测功能现在支持 Amazon SageMaker AI LakeHouse 表及 AWS Lake Formation 托管的 Iceberg/Delta/Hudi 表（适用于 AWS Glue ETL 5.0 环境）。

### 2025 年 7 月 7 日
<a name="data-quality-release-notes-jul7-2025"></a>
+  AWS Glue 数据质量自动监测功能现在支持 Amazon S3 表类数据存储服务、RMS、Lakehouse、AWS Lake Formation 托管的 Iceberg 表（通过 AWS Glue Data Catalog 管理）。

### 2025 年 11 月 21 日
<a name="data-quality-release-notes-nov21-2025"></a>
+ AWS Glue 数据质量自动监测功能现在支持规则标注，用于增强报告功能。可以通过按特定标签查询结果来更有效地组织和分析数据质量结果，进而识别特定类别中的失败规则，按团队或域统计规则结果，并为不同的利益相关者创建有针对性的报告。有关更多信息，请参阅 [标签](dqdl.md#dqdl-labels)。
+ AWS Glue 数据质量自动监测功能现在支持 DQDL 中的常量，允许您定义常量值并在整个脚本中引用这些常量。这有助于防止在处理大型 SQL 语句时出现与查询大小限制相关的问题。有关更多信息，请参阅 [常量](dqdl.md#dqdl-constants)。