Classe EvaluateDataQuality
Valuta un set di regole di qualità dei dati rispetto ai dati in un DynamicFrame e restituisce un nuovo DynamicFrame con i risultati della valutazione.
Esempio
Il seguente codice di esempio dimostra come valutare la qualità dei dati per un DynamicFrame e quindi visualizzare i risultati.
from awsglue.transforms import * from pyspark.context import SparkContext from awsglue.context import GlueContext from awsgluedq.transforms import EvaluateDataQuality #Create Glue context sc = SparkContext.getOrCreate() glueContext = GlueContext(sc) # Define DynamicFrame legislatorsAreas = glueContext.create_dynamic_frame.from_catalog( database="legislators", table_name="areas_json") # Create data quality ruleset ruleset = """Rules = [ColumnExists "id", IsComplete "id"]""" # Evaluate data quality dqResults = EvaluateDataQuality.apply( frame=legislatorsAreas, ruleset=ruleset, publishing_options={ "dataQualityEvaluationContext": "legislatorsAreas", "enableDataQualityCloudWatchMetrics": True, "enableDataQualityResultsPublishing": True, "resultsS3Prefix": "amzn-s3-demo-bucket1", }, ) # Inspect data quality results dqResults.printSchema() dqResults.toDF().show()
root |-- Rule: string |-- Outcome: string |-- FailureReason: string |-- EvaluatedMetrics: map | |-- keyType: string | |-- valueType: double +-----------------------+-------+-------------+---------------------------------------+ |Rule |Outcome|FailureReason|EvaluatedMetrics | +-----------------------+-------+-------------+---------------------------------------+ |ColumnExists "id" |Passed |null |{} | |IsComplete "id" |Passed |null |{Column.first_name.Completeness -> 1.0}| +-----------------------+-------+-------------+---------------------------------------+
Metodi
__call__(frame, ruleset, publishing_options = {})
-
frame: ilDynamicFramedi cui desideri valutare la qualità dei dati. -
ruleset: un set di regole del Data Quality Definition Language (DQDL) in formato stringa. Per ulteriori informazioni su DQDL, consulta la guida di Riferimento a Data Quality Definition Language (DQDL). -
publishing_options: un dizionario che specifica le seguenti opzioni per la pubblicazione dei risultati e dei parametri di valutazione:-
dataQualityEvaluationContext: una stringa che specifica lo spazio dei nomi in cui AWS Glue deve pubblicare i parametri Amazon CloudWatch e i risultati della qualità dei dati. I parametri aggregati vengono visualizzati in CloudWatch, mentre i risultati completi vengono visualizzati nell'interfaccia di AWS Glue Studio.-
Campo obbligatorio: no
-
Valore predefinito:
default_context
-
-
enableDataQualityCloudWatchMetrics: specifica se i risultati della valutazione della qualità dei dati devono essere pubblicati su CloudWatch. Uno spazio dei nomi per i parametri viene specificato utilizzando l'opzionedataQualityEvaluationContext.-
Campo obbligatorio: no
-
Valore predefinito: False
-
-
enableDataQualityResultsPublishing: specifica se i risultati della qualità dei dati devono essere visibili nella scheda Data Quality (Qualità dei dati) nell'interfaccia di AWS Glue Studio.-
Campo obbligatorio: no
-
Valore predefinito: true
-
-
resultsS3Prefix: specifica la posizione Amazon S3 in cui AWS Glue può scrivere i risultati della valutazione della qualità dei dati.-
Campo obbligatorio: no
-
Valore predefinito: "" (stringa vuota)
-
-
apply(cls, *args, **kwargs)
Ereditato da GlueTransform apply.
name(cls)
Ereditato da GlueTransform nome.
describeArgs(cls)
Ereditato da GlueTransform describeArgs.
describeReturn(cls)
Ereditato da GlueTransform describeReturn.
describeTransform(cls)
Ereditato da GlueTransform describeTransform.
describeErrors(cls)
Ereditato da GlueTransform describeErrors.
describe(cls)
Ereditato da GlueTransform describe.