Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Benutzerdefiniert SQL
Dieser Regeltyp wurde erweitert, um zwei Anwendungsfälle zu unterstützen:
Führt eine benutzerdefinierte SQL Anweisung für einen Datensatz aus und überprüft den Rückgabewert anhand eines bestimmten Ausdrucks.
Führen Sie eine benutzerdefinierte SQL Anweisung aus, in der Sie in Ihrer SELECT Anweisung einen Spaltennamen angeben, den Sie mit einer Bedingung vergleichen, um Ergebnisse auf Zeilenebene zu erhalten.
Syntax
CustomSql
<SQL_STATEMENT>
<EXPRESSION>
SQL_ STATEMENT — Eine SQL Anweisung, die einen einzelnen numerischen Wert zurückgibt, der von doppelten Anführungszeichen umgeben ist.
EXPRESSION— Ein Ausdruck, der anhand der Antwort vom Regeltyp ausgeführt wird, um einen booleschen Wert zu erzeugen. Weitere Informationen finden Sie unter Ausdrücke.
Beispiel: BenutzerdefiniertSQL, um ein Gesamtregelergebnis abzurufen
Diese Beispielregel verwendet eine SQL Anweisung, um die Anzahl der Datensätze für einen Datensatz abzurufen. Die Regel prüft dann, ob die Datensatzanzahl zwischen 10 und 20 liegt.
CustomSql "select count(*) from primary" between 10 and 20
Beispiel: BenutzerdefiniertSQL, um Ergebnisse auf Zeilenebene abzurufen
Diese Beispielregel verwendet eine SQL Anweisung, in der Sie in Ihrer SELECT Anweisung einen Spaltennamen angeben, den Sie mit einer Bedingung vergleichen, um Ergebnisse auf Zeilenebene zu erhalten. Ein Ausdruck für eine Schwellenwertbedingung definiert einen Schwellenwert dafür, wie viele Datensätze fehlschlagen sollten, damit die gesamte Regel fehlschlägt. Beachten Sie, dass eine Regel nicht gleichzeitig eine Bedingung und ein Schlüsselwort enthalten darf.
CustomSql "select Name from primary where Age > 18"
or
CustomSql "select Name from primary where Age > 18" with threshold > 3
Wichtig
Der primary
-Alias steht stellvertretend für den Namen des Datensatzes, den Sie auswerten möchten. Wenn Sie mit visuellen ETL Aufträgen auf der Konsole arbeiten, steht dies primary
immer DynamicFrame
für die Übergabe an die EvaluateDataQuality.apply()
Transformation. Wenn Sie den AWS Glue-Datenkatalog verwenden, um Datenqualitätsaufgaben für eine Tabelle auszuführen, primary
stellt dies die Tabelle dar.
Wenn Sie sich im AWS Glue Data Catalog befinden, können Sie auch die tatsächlichen Tabellennamen verwenden:
CustomSql "select count(*) from database.table" between 10 and 20
Sie können auch mehrere Tabellen miteinander verbinden, um verschiedene Datenelemente zu vergleichen:
CustomSql "select count(*) from database.table inner join database.table2 on id1 = id2" between 10 and 20
In AWS Glue ETL SQL kann Benutzerdefiniert Datensätze identifizieren, die die Datenqualitätsprüfungen nicht bestanden haben. Damit dies funktioniert, müssen Sie Datensätze zurückgeben, die Teil der Primärtabelle sind, deren Datenqualität Sie auswerten. Datensätze, die im Rahmen der Abfrage zurückgegeben werden, gelten als erfolgreich und Datensätze, die nicht zurückgegeben werden, gelten als fehlgeschlagen.
Die folgende Regel stellt sicher, dass Datensätze mit einem Alter von weniger als 100 Jahre als erfolgreich identifiziert werden und Datensätze darüber als fehlgeschlagen markiert werden.
CustomSql "select id from primary where age < 100"
Diese benutzerdefinierte SQL Regel gilt als bestanden, wenn 50% der Datensätze älter als 10 Jahre sind, und identifiziert auch Datensätze, die nicht bestanden haben. Die von diesem Custom SQL zurückgegebenen Datensätze gelten als bestanden, während die nicht zurückgegebenen Datensätze als nicht bestanden gelten.
CustomSQL "select ID, CustomerID from primary where age > 10" with threshold > 0.5
Hinweis: Die benutzerdefinierte SQL Regel schlägt fehl, wenn Sie Datensätze zurückgeben, die im Datensatz nicht verfügbar sind.