可用的支票 - AWS Glue DataBrew

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

可用的支票

下表列出了可在您的规则中使用的所有可用条件的参考资料。请注意,聚合条件不能与同一规则中的非聚合条件组合。

注意

对于 SDK 用户,要将相同的规则应用于多个列,请使用规则ColumnSelectors属性,并使用名称或正则表达式指定经过验证的列。在这种情况下,你应该使用隐式CheckExpression。例如,“> :val”将每个选定列中的值与提供的值进行比较。 DataBrew 使用隐式语法FilterExpression在动态数据集中进行定义。如果要为每项检查单独指定列,请不要设置该ColumnSelectors属性。相反,请提供一个明确的表达式。例如,“:col > :val”规则CheckExpression中的 a。

条件类型 数据质量检查 其他参数 比较类型 SDK 语法示例
汇总数据集条件 行数 与自定义值的数值比较

"CheckExpression": "AGG(ROWS_COUNT) > :val", "SubstitutionMap": {":val", "10000"}

列数 与自定义值的数值比较

"CheckExpression": "AGG(COLUMNS_COUNT) == :val", "SubstitutionMap": {":val", "20"}

重复行

与自定义值的数值比较

"CheckExpression": "AGG(DUPLICATE_ROWS_COUNT) < :val", "SubstitutionMap": {":val", "100"}

或者

"CheckExpression": "AGG(DUPLICATE_ROWS_PERCENTAGE) < :val", "SubstitutionMap": {":val", "5"}

汇总列统计数据 缺失值 与自定义值的数值比较

"CheckExpression": "AGG(MISSING_VALUES_COUNT) < :val", "SubstitutionMap": {":val", "100"}

或者

"CheckExpression": "AGG(MISSING_VALUES_PERCENTAGE) < :val", "SubstitutionMap": {":val", "5"}

重复值 与自定义值的数值比较

"CheckExpression": "AGG(DUPLICATE_VALUES_COUNT) < :val", "SubstitutionMap": {":val", "100"}

或者

"CheckExpression": "AGG(DUPLICATE_VALUES_PERCENTAGE) < :val", "SubstitutionMap": {":val", "5"}

有效值

与自定义值的数值比较

"CheckExpression": "AGG(VALID_VALUES_COUNT) > :val", "SubstitutionMap": {":val", "10000"}

或者

"CheckExpression": "AGG(VALID_VALUES_PERCENTAGE) > :val", "SubstitutionMap": {":val", "95"}

DISCT 值 与自定义值的数值比较

"CheckExpression": "AGG(DISTINCT_VALUES_COUNT) > :val", "SubstitutionMap": {":val", "1000"}

或者

"CheckExpression": "AGG(DISTINCT_VALUES_PERCENTAGE) >= :val", "SubstitutionMap": {":val", "50"}

唯一值

与自定义值的数值比较

"CheckExpression": "AGG(UNIQUE_VALUES_COUNT) > :val", "SubstitutionMap": {":val", "100"}

或者

"CheckExpression": "AGG(UNIQUE_VALUES_PERCENTAGE) > :val", "SubstitutionMap": {":val", "20"}

异常值

Z 分数阈值 与自定义值的数值比较

"CheckExpression": "AGG(Z_SCORE_OUTLIERS_COUNT, :zscore_dev) < :val", "SubstitutionMap": {":zscore_dev": "4", ":val", "100"}

或者

"CheckExpression": "AGG(Z_SCORE_OUTLIERS_PERCENTAGE) < :val", "SubstitutionMap": {":val", "5"}

价值分布统计

统计数据名称(参见下表) 与自定义值的数值比较

"CheckExpression": "AGG(<STAT_NAME>) < :val", "SubstitutionMap": {":val", "100"}

或者

"CheckExpression": "AGG(<STAT_NAME>, :param) < :val", "SubstitutionMap": {":param": "0.25", :val", "5"}

注意

有关可能的STAT_NAME值,请参见下表

数值统计

统计数据名称(参见下表) 与自定义值的数值比较

"CheckExpression": "AGG(<STAT_NAME>) < :val", "SubstitutionMap": {":val", "100"}

或者

"CheckExpression": "AGG(<STAT_NAME>, :param) < :val", "SubstitutionMap": {":param": "0.25", :val", "5"}

注意

有关可能的STAT_NAME值,请参见下表

非聚合(接受阈值) 值恰好值 与值列表进行精确比较

"CheckExpression": ":col IN :list", "SubstitutionMap": {":col": "`size`", ":list": "[\"S\",\"M\",\"L\",\"XL\"]"}

值不完全是 值不应与列表中的任何值完全匹配

"CheckExpression": ":col NOT IN :list", "SubstitutionMap": {":col": "`domain`", ":list": "[\"GOV\",\"ORG\"]"}

字符串值 与自定义值或其他字符串列进行字符串比较

"CheckExpression": ":col STARTS_WITH :val", "SubstitutionMap": {":col": "`url`", ":val": "http"}

或者

"CheckExpression": ":col1 contains :col2", "SubstitutionMap": {":col1": "`url`", ":col2": "`company_name`"}

数字值 与自定义值或其他数值列进行数值比较

"CheckExpression": ":col IS_BETWEEN :val1 and :val2", "SubstitutionMap": {":col": "`APY`", ":val1": "0", ":val2": "10"}

或者

"CheckExpression": ":col1 <= :col2", "SubstitutionMap": {":col1": "`bank_rate`", ":col2": "`fed_rate`"}

值字符串长度 与自定义值或其他数值列进行数值比较

"CheckExpression": "length(:col) IS_BETWEEN :val1 and :val2", "SubstitutionMap": {":col": "`identifier`", ":val1": "8", ":val2": "12"}

或者

"CheckExpression": "length(:col1) <= :col2", "SubstitutionMap": {":col1": "`name`", ":col2": "`max_name_len`"}

数字比较

DataBrew 支持以下数值比较运算:等于 (= =)不等于 (! =)小于 (<)、小于等于 (< =) 、大于 (>)、大于等于 (> =) 和介于 (is_between: val1 和:val2) 之间

字符串比较

支持以下字符串比较:开头为、不开、结尾为、不结尾、包含、不包含不包含等于、不等于不等于匹配匹配。

下表显示了可用于值分布统计和数值统计的可用统计量:

数据质量检查 统计数据名称 其他参数 SDK 语法
价值分布统计 最小值 "CheckExpression": "AGG(MAX) < :val", "SubstitutionMap": {":val", "100"}
最大值 "CheckExpression": "AGG(MIN) > :val", "SubstitutionMap": {":val", "0"}
中间值 "CheckExpression": "AGG(MEDIAN) >= :val", "SubstitutionMap": {":val", "50"}
平均值 "CheckExpression": "AGG(MEAN) <= :val", "SubstitutionMap": {":val", "10"}
Mode "CheckExpression": "AGG(MODE) > :val", "SubstitutionMap": {":val", "0"}
标准差 "CheckExpression": "AGG(STANDARD_DEVIATION) > :val", "SubstitutionMap": {":val", "0"}
"CheckExpression": "AGG(ENTROPY) > :val", "SubstitutionMap": {":val", "0"}
数值统计 总和 "CheckExpression": "AGG(SUM) > :val", "SubstitutionMap": {":val", "0"}
峰度 "CheckExpression": "AGG(KURTOSIS) > :val", "SubstitutionMap": {":val", "0"}
偏斜 "CheckExpression": "AGG(SKEWNESS) > :val", "SubstitutionMap": {":val", "0"}
方差 "CheckExpression": "AGG(VARIANCE) > :val", "SubstitutionMap": {":val", "0"}
绝对偏差 "CheckExpression": "AGG(MEDIAN_ABSOLUTE_DEVIATION) > :val", "SubstitutionMap": {":val", "0"}
分位数 分位数:'0.25'、'0.5'、'0.75' 中的一个 "CheckExpression": "AGG(QUANTILE, :pct) > :val", "SubstitutionMap": {":pct": "0.25", ":val", "0"}