DL 规则类型引用
本部分介绍 AWS Glue Data Quality 支持的每种规则类型的参考。
注意
DQDL 目前不支持嵌套或列表类型的列数据。
下表中带括号的值将替换为规则参数中提供的信息。
规则通常需要一个额外的表达式参数。
RuleType | 描述 | 参数 | 报告的指标 | 是否支持作为规则? | 是否支持作为分析器? | 返回行级结果? | 动态规则支持? | 生成观测值 | 是否支持 where 子句语法? |
---|---|---|---|---|---|---|---|---|---|
AggregateMatch | 通过比较总销售额等摘要指标,检查两个数据集是否匹配。如果所有数据都是从源系统提取的,金融机构可以进行比较。 | 一个或多个聚合 |
当第一个和第二个聚合列名匹配时:
当第一个和第二个聚合列名不同时:
|
是 | 否 | 否 | 否 | 否 | 否 |
AllStatistics | 独立分析器,为数据集中提供的列收集多个指标。 | 单个列名 |
对于所有类型的列:
字符串值列的其他指标:
数字值列的其他指标:
|
否 | 是 | 否 | 否 | 否 | 否 |
ColumnCorrelation | 检查两列的关联程度。 | 正好两个列名 | Multicolumn.[Column1,Column2].ColumnCorrelation |
是 | 是 | 否 | 是 | 否 | 是 |
ColumnCount | 检查是否删除了任何列。 | 无 | Dataset.*.ColumnCount |
是 | 是 | 否 | 是 | 是 | 否 |
ColumnDataType | 检查列是否符合数据类型。 | 只有一个列名 | Column.[Column].ColumnDataType.Compliance |
是 | 否 | 否 | 是,在行级阈值表达式中 | 否 | 是 |
ColumnExists | 检查数据集中是否存在列。这允许客户构建自助服务数据平台以确保某些列可用。 | 只有一个列名 | 不适用 | 是 | 否 | 否 | 否 | 否 | 否 |
ColumnLength | 检查数据长度是否一致。 | 只有一个列名 |
提供行级阈值时的其他指标:
|
是 | 是 | 是,如已提供行级阈值 | 否 | 是。仅通过分析最小长度和最大长度来生成观测值 | 是 |
ColumnNamesMatchPattern | 检查列名是否与定义的模式匹配。对于治理团队来说,强制列名一致性很有用。 | 列名的正则表达式 | Dataset.*.ColumnNamesPatternMatchRatio |
是 | 否 | 否 | 否 | 否 | 否 |
ColumnValues | 根据定义的值检查数据是否一致。此规则支持正则表达式。 | 只有一个列名 |
提供行级阈值时的其他指标:
|
是 | 是 | 是,如已提供行级阈值 | 否 | 是。仅通过分析最小值和最大值来生成观测值 | 是 |
完整性 | 检查数据中是否有任何空白或 NULL。 | 只有一个列名 |
|
是 | 是 | 是 | 是 | 是 | 是 |
CustomSql | 客户可以在 SQL 中实施几乎任何类型的数据质量检查。 |
SQL 语句 (可选)行级阈值 |
提供行级阈值时的其他指标:
|
是 | 否 | 是,如已提供行级阈值 | 是 | 否 | 否 |
DataFreshness | 检查数据是否是最新的。 | 只有一个列名 | Column.[Column].DataFreshness.Compliance |
是 | 否 | 是 | 否 | 否 | 是 |
DatasetMatch | 比较两个数据集并确定它们是否同步。 |
引用数据集的名称 列映射 (可选)用于检查匹配项的列 |
Dataset.[ReferenceDatasetAlias].DatasetMatch |
是 | 否 | 是 | 是 | 否 | 否 |
DistinctValuesCount | 检查是否存在重复值。 | 只有一个列名 | Column.[Column].DistinctValuesCount |
是 | 是 | 是 | 是 | 是 | 是 |
DetectAnomalies | 检查其他规则类型报告的指标中是否存在异常。 | 规则类型 | 规则类型参数报告的指标 | 是 | 否 | 否 | 否 | 否 | 否 |
熵 | 检查数据的熵。 | 只有一个列名 | Column.[Column].Entropy |
是 | 是 | 否 | 是 | 否 | 是 |
IsComplete | 检查数据是否 100% 完整。 | 只有一个列名 | Column.[Column].Completeness |
是 | 否 | 是 | 否 | 否 | 是 |
IsPrimaryKey | 检查列是否为主键(不是 NULL 且是唯一的)。 | 只有一个列名 |
对于单列:
对于多列:
|
是 | 否 | 是 | 否 | 否 | 是 |
IsUnique | 检查数据是否 100% 唯一。 | 只有一个列名 | Column.[Column].Uniqueness |
是 | 否 | 是 | 否 | 否 | 是 |
平均值 | 检查均值是否与设定的阈值相符。 | 只有一个列名 | Column.[Column].Mean |
是 | 是 | 是 | 是 | 否 | 是 |
ReferentialIntegrity | 检查两个数据集是否具有引用完整性。 |
数据集中的一个或多个列名 引用数据集中的一个或多个列名 |
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 中的文件是否为最新。 | 文件或文件夹路径和阈值。 |
|
是 | 否 | 否 | 否 | 否 | 否 |
FileMatch | 检查文件内容是否与校验和或其他文件匹配。此规则使用校验和来验证两个文件是否相同。 | 源文件或文件夹路径以及目标文件或文件夹路径。 | 未生成任何统计信息。 | 是 | 否 | 否 | 否 | 否 | 否 |
FileSize | 检查文件的大小是否符合指定的条件。 | 文件或文件夹路径和阈值。 |
|
是 | 否 | 否 | 否 | 否 | 否 |
FileUniqueness | 使用校验和检查文件是否唯一。 | 文件或文件夹路径和阈值。 |
|
是 | 否 | 否 | 否 | 否 | 否 |
主题
- AggregateMatch
- 列相关性
- ColumnCount
- ColumnDataType
- ColumnExists
- ColumnLength
- ColumnNamesMatchPattern
- ColumnValues
- 完整性
- CustomSQL
- DataFreshness
- DatasetMatch
- DistinctValuesCount
- 熵
- IsComplete
- IsPrimaryKey
- IsUnique
- 平均值
- ReferentialIntegrity
- RowCount
- RowCountMatch
- StandardDeviation
- 总和
- SchemaMatch
- 独特性
- UniqueValueRatio
- DetectAnomalies
- FileFreshness
- FileMatch
- FileUniqueness
- FileSize