EvaluateDataQuality Klasse - 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 Klasse

AWS Glue Data Quality befindet sich in der Vorschauversion für AWS Glue und kann sich ändern.

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 über AWS Glue Data Quality finden Sie unterAWS Glue Qualität der Daten.

  • 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 der Glue Studio-Oberfläche angezeigt CloudWatch, 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ätsbewertung veröffentlicht werden sollen. CloudWatch 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 S3-Speicherort an, an den AWS Glue die Ergebnisse der Datenqualitätsbewertung 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() } }