EvaluateDataQuality class - AWS Glue

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.

EvaluateDataQuality class

AWS Glue Data Quality ist aktuell als Vorversion von AWS Glue verfügbar und unterliegt Änderungen.

Paket: com.amazonaws.services.glue.dq

object EvaluateDataQuality

Def apply

def apply(frame: DynamicFrame, ruleset: String, publishingOptions: JsonOptions = JsonOptions.empty): DynamicFrame

Wertet einen Datenqualitätsregelsatz anhand eines DynamicFrame aus und gibt ein neues DynamicFrame mit den Ergebnissen der Bewertung zurück. Weitere Informationen zur AWS Glue Data Quality finden Sie unter AWS Glue Data Quality.

  • frame – Das DynamicFrame, dessen Datenqualität Sie auswerten möchten.

  • ruleset – Ein Regelsatz der Definitionssprache für Datenqualität (DQDL) im Zeichenfolgen-Format. Weitere Informationen zu DQDL finden Sie im Referenz zu Data Quality Definition Language (DQDL)-Benutzerhandbuch.

  • publishingOptions – Ein Wörterbuch, das die folgenden Optionen zum Veröffentlichen von Auswertungsergebnissen und -metriken festlegt:

    • dataQualityEvaluationContext – Eine Zeichenfolge, die den Namespace angibt, unter dem AWS Glue-Amazon CloudWatch-Metriken und die Datenqualitätsergebnisse veröffentlichen soll. Die aggregierten Metriken werden in CloudWatch angezeigt, während die vollständigen Ergebnisse in der Benutzeroberfläche von AWS Glue Studio angezeigt werden.

      • Erforderlich: Nein

      • Standardwert: default_context

    • enableDataQualityCloudWatchMetrics – Gibt an, ob die Ergebnisse der Datenqualitätsauswertung in CloudWatch veröffentlicht werden sollen. Mit der dataQualityEvaluationContext-Option geben Sie einen Namespace für die Metriken an.

      • Erforderlich: Nein

      • Standardwert: false

    • enableDataQualityResultsPublishing – Gibt an, ob die Datenqualitätsergebnisse auf der Registerkarte Data Quality (Datenqualität) in der Benutzeroberfläche von AWS Glue Studio angezeigt werden sollen.

      • Erforderlich: Nein

      • Standardwert: wahr

    • resultsS3Prefix – Gibt den Amazon-S3-Speicherort an, an dem AWS Glue die Ergebnisse der Datenqualitätsauswertung schreiben kann.

      • Erforderlich: Nein

      • Standardwert: "" (eine leere Zeichenfolge)

Beispiel

Der folgende Beispielcode zeigt, wie Sie die Datenqualität für ein DynamicFrame bewerten, bevor Sie eine SelectFields-Transformation durchführen. Das Skript überprüft, ob alle Datenqualitätsregeln erfolgreich sind, bevor es versucht, die Transformation durchzuführen.

import com.amazonaws.services.glue.GlueContext import com.amazonaws.services.glue.MappingSpec import com.amazonaws.services.glue.errors.CallSite import com.amazonaws.services.glue.util.GlueArgParser import com.amazonaws.services.glue.util.Job import com.amazonaws.services.glue.util.JsonOptions import org.apache.spark.SparkContext import scala.collection.JavaConverters._ import com.amazonaws.services.glue.dq.EvaluateDataQuality object GlueApp { def main(sysArgs: Array[String]) { val spark: SparkContext = new SparkContext() val glueContext: GlueContext = new GlueContext(spark) // @params: [JOB_NAME] val args = GlueArgParser.getResolvedOptions(sysArgs, Seq("JOB_NAME").toArray) Job.init(args("JOB_NAME"), glueContext, args.asJava) // Create DynamicFrame with data val Legislators_Area = glueContext.getCatalogSource(database="legislators", tableName="areas_json", transformationContext="S3bucket_node1").getDynamicFrame() // Define data quality ruleset val DQ_Ruleset = """ Rules = [ColumnExists "id"] """ // Evaluate data quality val DQ_Results = EvaluateDataQuality.apply(frame=Legislators_Area, ruleset=DQ_Ruleset, publishingOptions=JsonOptions("""{"dataQualityEvaluationContext": "Legislators_Area", "enableDataQualityMetrics": "true", "enableDataQualityResultsPublishing": "true"}""")) assert(DQ_Results.filter(_.getField("Outcome").contains("Failed")).count == 0, "Failing DQ rules for Legislators_Area caused the job to fail.") // Script generated for node Select Fields val SelectFields_Results = Legislators_Area.selectFields(paths=Seq("id", "name"), transformationContext="Legislators_Area") Job.commit() } }