

# DL 规则类型引用
<a name="dqdl-rule-types"></a>

本部分介绍 AWS Glue Data Quality 支持的每种规则类型的参考。

**注意**  
DQDL 目前不支持嵌套或列表类型的列数据。
下表中带括号的值将替换为规则参数中提供的信息。
规则通常需要一个额外的表达式参数。


| RuleType | 描述 | 参数 | 报告的指标 | 是否支持作为规则？ | 是否支持作为分析器？ | 返回行级结果？ | 动态规则支持？ | 生成观测值 | 是否支持 where 子句语法？ | 
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | 
| AggregateMatch | 通过比较总销售额等摘要指标，检查两个数据集是否匹配。如果所有数据都是从源系统提取的，金融机构可以进行比较。 | 一个或多个聚合 | 当第一个和第二个聚合列名匹配时：<br />`Column.[Column].AggregateMatch`<br />当第一个和第二个聚合列名不同时：<br />`Column.[Column1,Column2].AggregateMatch` | 是 | 否 | 否 | 否 | 否 | 否 | 
| AllStatistics | 独立分析器，为数据集中提供的列收集多个指标。 | 单个列名 | 对于所有类型的列：<br />`Dataset.*.RowCount`<br />`Column.[Column].Completeness`<br />`Column.[Column].Uniqueness`<br />字符串值列的其他指标：<br />`ColumnLength metrics`<br />数字值列的其他指标：<br />`ColumnValues metrics` | 否 | 是 | 否 | 否 | 否 | 否 | 
| ColumnCorrelation | 检查两列的关联程度。 | 正好两个列名 | Multicolumn.[Column1,Column2].ColumnCorrelation | 支持 | 是 | 否 | 是 | 否 | 是 | 
| ColumnCount | 检查是否删除了任何列。 | 无 | Dataset.\*.ColumnCount | 支持 | 是 | 否 | 是 | 是 | 否 | 
| ColumnDataType | 检查列是否符合数据类型。 | 只有一个列名 | Column.[Column].ColumnDataType.Compliance | 是 | 否 | 否 | 是，在行级阈值表达式中 | 否 | 是 | 
| ColumnExists | 检查数据集中是否存在列。这允许客户构建自助服务数据平台以确保某些列可用。 | 只有一个列名 | 不适用 | 是 | 否 | 否 | 否 | 否 | 否 | 
| ColumnLength | 检查数据长度是否一致。 | 只有一个列名 | `Column.[Column].MaximumLength`<br />`Column.[Column].MinimumLength`<br />提供行级阈值时的其他指标：<br />`Column.[Column].ColumnValues.Compliance` | 支持 | 是 | 是，如已提供行级阈值 | 否 | 是。仅通过分析最小长度和最大长度来生成观测值 | 是 | 
| ColumnNamesMatchPattern | 检查列名是否与定义的模式匹配。对于治理团队来说，强制列名一致性很有用。 | 列名的正则表达式 | Dataset.\*.ColumnNamesPatternMatchRatio | 是 | 否 | 否 | 否 | 否 | 否 | 
| ColumnValues | 根据定义的值检查数据是否一致。此规则支持正则表达式。 | 只有一个列名 | `Column.[Column].Maximum`<br />`Column.[Column].Minimum`<br />提供行级阈值时的其他指标：<br />`Column.[Column].ColumnValues.Compliance` | 支持 | 是 | 是，如已提供行级阈值 | 否 | 是。仅通过分析最小值和最大值来生成观测值 | 是 | 
| 完整性 | 检查数据中是否有任何空白或 NULL。 | 只有一个列名 | `Column.[Column].Completeness` | 支持 | 是 | 是 | 是 | 是 | 是 | 
| CustomSql |  客户可以在 SQL 中实施几乎任何类型的数据质量检查。 | SQL 语句<br />（可选）行级阈值 | `Dataset.*.CustomSQL`<br />提供行级阈值时的其他指标：<br />`Dataset.*.CustomSQL.Compliance` | 是 | 否 | 是，如已提供行级阈值 | 是 | 否 | 否 | 
| DataFreshness | 检查数据是否是最新的。 | 只有一个列名 | Column.[Column].DataFreshness.Compliance | 是 | 否 | 是 | 否 | 否 | 是 | 
| DatasetMatch | 比较两个数据集并确定它们是否同步。 | 引用数据集的名称<br />列映射<br />（可选）用于检查匹配项的列 | Dataset.[ReferenceDatasetAlias].DatasetMatch | 是 | 否 | 是 | 是 | 否 | 否 | 
| DistinctValuesCount | 检查是否存在重复值。 | 只有一个列名 | Column.[Column].DistinctValuesCount | 支持 | 是 | 是 | 是 | 是 | 是 | 
| DetectAnomalies | 检查其他规则类型报告的指标中是否存在异常。 | 规则类型 | 规则类型参数报告的指标 | 是 | 否 | 否 | 否 | 否 | 否 | 
| 熵 | 检查数据的熵。 | 只有一个列名 | Column.[Column].Entropy | 支持 | 是 | 否 | 是 | 否 | 是 | 
| IsComplete | 检查数据是否 100% 完整。 | 只有一个列名 | Column.[Column].Completeness | 是 | 否 | 是 | 否 | 否 | 是 | 
| IsPrimaryKey | 检查列是否为主键（不是 NULL 且是唯一的）。 | 只有一个列名 | 对于单列：<br />`Column.[Column].Uniqueness`<br />对于多列：<br />`Multicolumn.[CommaDelimitedColumns].Uniqueness` | 是 | 否 | 是 | 否 | 否 | 是 | 
| IsUnique | 检查数据是否 100% 唯一。 | 只有一个列名 | Column.[Column].Uniqueness | 是 | 否 | 是 | 否 | 否 | 是 | 
| 平均值 | 检查均值是否与设定的阈值相符。 | 只有一个列名 | Column.[Column].Mean | 支持 | 是 | 是 | 是 | 否 | 是 | 
| ReferentialIntegrity | 检查两个数据集是否具有引用完整性。 | 数据集中的一个或多个列名<br />引用数据集中的一个或多个列名 | Column.[ReferenceDatasetAlias].ReferentialIntegrity | 是 | 否 | 是 | 是 | 否 | 否 | 
| RowCount | 检查记录计数是否与阈值匹配。 | 无 | Dataset.\*.RowCount | 支持 | 是 | 否 | 是 | 是 | 是 | 
| RowCountMatch | 检查两个数据集之间的记录计数是否匹配。 | 引用数据集别名 | Dataset.[ReferenceDatasetAlias].RowCountMatch | 是 | 否 | 否 | 是 | 否 | 否 | 
| StandardDeviation | 检查标准偏差是否与阈值匹配。 | 只有一个列名 | Column.[Column].StandardDeviation | 支持 | 是 | 是 | 是 | 否 | 是 | 
| SchemaMatch | 检查两个数据集之间的架构是否匹配。 | 引用数据集别名 | Dataset.[ReferenceDatasetAlias].SchemaMatch | 是 | 否 | 否 | 是 | 否 | 否 | 
| 总和 | 检查总和是否与设定的阈值相符。 | 只有一个列名 | Column.[Column].Sum | 支持 | 是 | 否 | 是 | 否 | 是 | 
| 独特性 | 检查数据集的唯一性是否与阈值匹配。 | 只有一个列名 | Column.[Column].Uniqueness | 支持 | 是 | 是 | 是 | 否 | 是 | 
| UniqueValueRatio | 检查唯一值比率是否与阈值匹配。 | 只有一个列名 | Column.[Column].UniqueValueRatio | 支持 | 是 | 是 | 是 | 否 | 是 | 
| FileFreshness | 检查 Amazon S3 中的文件是否为最新。 | 文件或文件夹路径和阈值。 | `Dataset.*.FileFreshness.Compliance`<br />`Dataset.*.FileCount` | 是 | 否 | 否 | 否 | 否 | 否 | 
| FileMatch | 检查文件内容是否与校验和或其他文件匹配。此规则使用校验和来验证两个文件是否相同。 | 源文件或文件夹路径以及目标文件或文件夹路径。 | 未生成任何统计信息。 | 是 | 否 | 否 | 否 | 否 | 否 | 
| FileSize | 检查文件的大小是否符合指定的条件。 | 文件或文件夹路径和阈值。 | `Dataset.*.FileSize.Compliance`<br />`Dataset.*.FileCount`<br />`Dataset.*.MaximumFileSize`<br />`Dataset.*.MinimumFileSize` | 是 | 否 | 否 | 否 | 否 | 否 | 
| FileUniqueness | 使用校验和检查文件是否唯一。 | 文件或文件夹路径和阈值。 | `Dataset.*.FileUniquenessRatio`<br />`Dataset.*.FileCount` | 是 | 否 | 否 | 否 | 否 | 否 | 

**Topics**
+ [AggregateMatch](dqdl-rule-types-AggregateMatch.md)
+ [列相关性](dqdl-rule-types-ColumnCorrelation.md)
+ [ColumnCount](dqdl-rule-types-ColumnCount.md)
+ [ColumnDataType](dqdl-rule-types-ColumnDataType.md)
+ [ColumnExists](dqdl-rule-types-ColumnExists.md)
+ [ColumnLength](dqdl-rule-types-ColumnLength.md)
+ [ColumnNamesMatchPattern](dqdl-rule-types-ColumnNamesMatchPattern.md)
+ [ColumnValues](dqdl-rule-types-ColumnValues.md)
+ [完整性](dqdl-rule-types-Completeness.md)
+ [CustomSQL](dqdl-rule-types-CustomSql.md)
+ [DataFreshness](dqdl-rule-types-DataFreshness.md)
+ [DatasetMatch](dqdl-rule-types-DatasetMatch.md)
+ [DistinctValuesCount](dqdl-rule-types-DistinctValuesCount.md)
+ [熵](dqdl-rule-types-Entropy.md)
+ [IsComplete](dqdl-rule-types-IsComplete.md)
+ [IsPrimaryKey](dqdl-rule-types-IsPrimaryKey.md)
+ [IsUnique](dqdl-rule-types-IsUnique.md)
+ [平均值](dqdl-rule-types-Mean.md)
+ [ReferentialIntegrity](dqdl-rule-types-ReferentialIntegrity.md)
+ [RowCount](dqdl-rule-types-RowCount.md)
+ [RowCountMatch](dqdl-rule-types-RowCountMatch.md)
+ [StandardDeviation](dqdl-rule-types-StandardDeviation.md)
+ [总和](dqdl-rule-types-Sum.md)
+ [SchemaMatch](dqdl-rule-types-SchemaMatch.md)
+ [独特性](dqdl-rule-types-Uniqueness.md)
+ [UniqueValueRatio](dqdl-rule-types-UniqueValueRatio.md)
+ [DetectAnomalies](dqdl-rule-types-DetectAnomalies.md)
+ [FileFreshness](dqdl-rule-types-FileFreshness.md)
+ [FileMatch](dqdl-rule-types-FileMatch.md)
+ [FileUniqueness](dqdl-rule-types-FileUniqueness.md)
+ [FileSize](dqdl-rule-types-FileSize.md)