Clase de EvaluateDataQuality - AWS Glue

Clase de EvaluateDataQuality

Evalúa un conjunto de reglas de calidad de datos comparándolo con un DynamicFrame y devuelve un DynamicFrame nuevo con los resultados de la evaluación.

Ejemplo

En el siguiente código de ejemplo, se muestra cómo evaluar la calidad de los datos de un DynamicFrame y, a continuación, ver los resultados de la calidad de los datos.

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étodos

__call__(frame, ruleset, publishing_options = {})

  • frame: el DynamicFrame del que desea evaluar la calidad de los datos.

  • ruleset: un conjunto de reglas de lenguaje de definición de calidad de datos (DQDL) en formato de cadena. Para obtener más información sobre DQDL, consulte la guía de Referencia del lenguaje de definición de calidad de datos (DQDL).

  • publishing_options: un diccionario que especifica las siguientes opciones para publicar los resultados y las métricas de la evaluación:

    • dataQualityEvaluationContext: una cadena que especifica el espacio de nombres en el que AWS Glue debe publicar las métricas de Amazon CloudWatch y los resultados de calidad de los datos. Las métricas agregadas aparecen en CloudWatch, mientras que los resultados completos aparecen en la interfaz de AWS Glue Studio.

      • Requerido: no

      • Valor predeterminado: default_context

    • enableDataQualityCloudWatchMetrics: especifica si los resultados de la evaluación de la calidad de los datos deben publicarse en CloudWatch. Especifique un espacio de nombres para las métricas mediante la opción dataQualityEvaluationContext.

      • Requerido: no

      • Valor predeterminado: False

    • enableDataQualityResultsPublishing: especifica si los resultados de calidad de los datos deben estar visibles en la pestaña Data Quality (Calidad de datos) de la interfaz de AWS Glue Studio.

      • Requerido: no

      • Valor predeterminado: true

    • resultsS3Prefix: especifica la ubicación de Amazon S3 en la que AWS Glue puede escribir los resultados de la evaluación de la calidad de los datos.

      • Requerido: no

      • Valor predeterminado: "" (cadena vacía)

apply(cls, *args, **kwargs)

Heredado de GlueTransform apply.

name(cls)

Heredado de GlueTransform name.

describeArgs(cls)

Heredado de GlueTransform describeArgs.

describeReturn(cls)

Heredado de GlueTransform describeReturn.

describeTransform(cls)

Heredado de GlueTransform describeTransform.

describeErrors(cls)

Heredado de GlueTransform describeErrors.

describe(cls)

Heredado de GlueTransform describe.