ColumnValues - AWS Glue

ColumnValues

针对列中的值运行表达式。

语法

ColumnValues <COL_NAME> <EXPRESSION>
  • COL_NAME — 要根据其评估数据质量规则的列的名称。

    支持的列类型:任何列类型

  • EXPRESSION — 针对规则类型响应运行以生成布尔值的表达式。有关更多信息,请参阅 Expressions

示例:允许的值

以下示例规则检查指定列中的每个值是否在允许的值集中(包括零值、空值以及仅包含空格的字符串)。

ColumnValues "Country" in [ "US", "CA", "UK", NULL, EMPTY, WHITESPACES_ONLY ] ColumnValues "gender" in ["F", "M"] where "weightinkgs < 10"

示例:正则表达式

以下示例规则根据正则表达式检查列中的值。

ColumnValues "First_Name" matches "[a-zA-Z]*"

示例:日期值

以下示例规则根据日期表达式检查日期列中的值。

ColumnValues "Load_Date" > (now() - 3 days)

示例:数值

以下示例规则检查列值是否与特定的数字约束条件相匹配。

ColumnValues "Customer_ID" between 1 and 2000

零值行为

对于所有 ColumnValues 规则(!=NOT IN 除外),NULL 行都不能通过该规则。如果由于零值而导致不能通过规则,则失效原因将显示如下:

Value: NULL does not meet the constraint requirement!

以下示例复合规则提供了一种显式允许 NULL 值的方法:

(ColumnValues "Age" > 21) OR (ColumnValues "Age" = NULL)

使用 !=not in 语法的否定 ColumnValues 规则将允许 NULL 行。例如:

ColumnValues "Age" != 21
ColumnValues "Age" not in [21, 22, 23]

以下示例提供了一种让 NULL 值显式失效的方法

(ColumnValues "Age" != 21) AND (ColumnValues "Age" != NULL)
ColumnValues "Age" not in [21, 22, 23, NULL]