ColumnValues - AWS Glue

ColumnValues

Ejecuta una expresión con los valores de una columna.

Sintaxis

ColumnValues <COL_NAME> <EXPRESSION>
  • COL_NAME: el nombre de la columna con la que quiere evaluar la regla de la calidad de los datos.

    Tipos de columnas compatibles: cualquier tipo de columna

  • EXPRESSION: una expresión que se ejecuta en función de la respuesta del tipo de regla para producir un valor booleano. Para obtener más información, consulte Expressions.

Ejemplo: valores permitidos

El ejemplo de regla a continuación controla que cada valor en la columna específica se encuentre en un conjunto de valores permitidos (incluidos los valores nulos y las cadenas que solo contienen espacios en blanco).

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

Ejemplo: expresión regular

La siguiente regla de ejemplo compara los valores de una columna con una expresión regular.

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

Ejemplo: valores de fecha

La siguiente regla de ejemplo compara los valores de una columna de fecha con una expresión de fecha.

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

Ejemplo: valores numéricos

La siguiente regla de ejemplo comprueba si los valores de las columnas coinciden con una restricción numérica determinada.

ColumnValues "Customer_ID" between 1 and 2000

Comportamiento nulo

Para todas las reglas ColumnValues (además de != y NOT IN), las filas NULL fallarán la regla. Si la regla falla debido a un valor nulo, la razón de la falla se mostrará de la siguiente manera:

Value: NULL does not meet the constraint requirement!

El ejemplo de regla compuesta a continuación presenta una manera de permitir de manera explícita los valores NULL:

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

Las reglas ColumnValues negadas que utilicen la sintaxis != y not in se considerarán filas NULL. Por ejemplo:

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

Los ejemplos a continuación presentan una manera de fallar de manera explícita los valores NULL

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