ColumnValues - AWS Glue

ColumnValues

Führt einen Ausdruck für die Werte in einer Spalte aus.

Syntax

ColumnValues <COL_NAME> <EXPRESSION>
  • COL_NAME – Der Name der Spalte, anhand der Sie die Datenqualitätsregel auswerten möchten.

    Unterstützte Spaltentypen: Jeder Spaltentyp

  • AUSDRUCK – Ein Ausdruck, der für die Antwort des Regeltyps ausgeführt wird, um einen booleschen Wert zu erzeugen. Weitere Informationen finden Sie unter Ausdrücke.

Beispiel: Zulässige Werte

Die folgende Beispielregel prüft, ob jeder Wert in der angegebenen Spalte in einer Gruppe zulässiger Werte enthalten ist (einschließlich Null, leer und Zeichenfolgen, die nur Leerzeichen enthalten).

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

Beispiel: Regulärer Ausdruck

Die folgende Beispielregel prüft die Werte in einer Spalte anhand eines regulären Ausdrucks.

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

Beispiel: Datumswerte

Die folgende Beispielregel prüft die Werte in einer Datumsspalte anhand eines Datumsausdrucks.

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

Beispiel: Numerische Werte

Die folgende Beispielregel prüft, ob die Spaltenwerte mit einer bestimmten numerischen Einschränkung übereinstimmen.

ColumnValues "Customer_ID" between 1 and 2000

Nullverhalten

Für alle ColumnValues-Regeln (außer != und NOT IN) gilt, dass NULL-Zeilen die Regel nicht erfüllen. Wenn die Regel aufgrund eines Nullwerts nicht erfüllt ist, wird die Fehlerursache wie folgt angezeigt:

Value: NULL does not meet the constraint requirement!

Die folgende zusammengesetzte Beispielregel bietet eine Möglichkeit, NULL-Werte explizit zuzulassen:

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

Negierte ColumnValues-Regeln, die die Syntax != und not in verwenden, sind für NULL-Zeilen zulässig. Zum Beispiel:

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

Die folgenden Beispiele bieten eine Möglichkeit, NULL-Werte explizit als falsch zu definieren.

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