Classe EvaluateDataQuality
Évalue un jeu de règles de qualité des données par rapport à un DynamicFrame et renvoie un nouveau DynamicFrame avec les résultats de l'évaluation.
exemple
L'exemple de code suivant montre comment évaluer la qualité des données pour un DynamicFrame, puis afficher les résultats relatifs à la qualité des données.
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}| +-----------------------+-------+-------------+---------------------------------------+
Méthodes
__call__ (trame, jeu de règles, options de publication = {})
-
frame– LeDynamicFramedont vous souhaitez évaluer la qualité des données. -
ruleset– Jeu de règles DQDL (Data Quality Definition Language) au format de chaîne. Pour en savoir plus sur DQDL, consultez le guide Référence DQDL (Data Quality Definition Language). -
publishing_options– Dictionnaire qui spécifie les options de publication suivantes des résultats et des métriques d'une évaluation :-
dataQualityEvaluationContext– Chaîne qui spécifie l'espace de noms dans lequel AWS Glue doit publier les métriques Amazon CloudWatch et les résultats relatifs à la qualité des données. Les métriques agrégées apparaissent dans CloudWatch, tandis que les résultats complets s'affichent dans l'interface AWS Glue Studio.-
Obligatoire : non
-
Valeur par défaut :
default_context
-
-
enableDataQualityCloudWatchMetrics– Spécifie si les résultats de l'évaluation de la qualité des données doivent être publiés sur CloudWatch. Vous spécifiez un espace de noms pour les métriques à l'aide de l'optiondataQualityEvaluationContext.-
Obligatoire : non
-
Valeur par défaut : False
-
-
enableDataQualityResultsPublishing– Spécifie si les résultats relatifs à la qualité des données doivent être visibles dans l'onglet Data Quality (Qualité des données) de l'interface AWS Glue Studio.-
Obligatoire : non
-
Valeur par défaut : True
-
-
resultsS3Prefix– Spécifie l'emplacement Amazon S3 où AWS Glue peut écrire les résultats de l'évaluation de la qualité des données.-
Obligatoire : non
-
Valeur par défaut : "" (chaîne vide)
-
-
apply(cls, *args, **kwargs)
Hérité de GlueTransform s'appliquent.
name(cls)
Hérité de GlueTransform name.
describeArgs(cls)
Hérité de GlueTransform describeArgs.
describeReturn(cls)
Hérité de GlueTransform describeReturn.
describeTransform(cls)
Hérité de GlueTransform describeTransform.
describeErrors(cls)
Hérité de GlueTransform describeErrors.
describe(cls)
Hérité de GlueTransform describe.