ColumnValues - AWS Glue

ColumnValues

Exécute une expression en fonction des valeurs d’une colonne.

Syntaxe

ColumnValues <COL_NAME> <EXPRESSION>
  • COL_NAME – Nom de la colonne par rapport à laquelle la règle de qualité des données doit être évaluée.

    Types de colonnes pris en charge : n’importe quel type de colonne

  • EXPRESSION – Expression à exécuter en fonction de la réponse du type de règle afin de produire une valeur booléenne. Pour plus d’informations, consultez Expressions.

Exemple : valeurs autorisées

L’exemple de règle suivant vérifie si chaque valeur de la colonne spécifiée fait partie d’un ensemble de valeurs autorisées (dont null, empty, et strings uniquement avec des espaces blancs).

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

Exemple : expression régulière

L’exemple de règle suivant compare les valeurs d’une colonne à une expression régulière.

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

Exemple : valeurs de date

L’exemple de règle suivant compare les valeurs d’une colonne de date à une expression de date.

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

Exemple : valeurs numériques

L’exemple de règle suivant vérifie si les valeurs des colonnes correspondent à une certaine contrainte numérique.

ColumnValues "Customer_ID" between 1 and 2000

Comportement null

Pour toutes les règles ColumnValues (à l’exception de != et de NOT IN), les lignes NULL dérogent à la règle. Si la règle échoue en raison d’une valeur null, la raison de l’échec s’affichera comme suit :

Value: NULL does not meet the constraint requirement!

L’exemple de règle composée suivant fournit un moyen d’autoriser explicitement des valeurs NULL :

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

Les règles ColumnValues annulées utilisant la syntaxe != et not in seront concluantes pour les lignes NULL. Par exemple :

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

Les exemples suivants fournissent un moyen de déroger explicitement aux valeurs NULL.

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