

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# EvaluateDataQuality classe
<a name="glue-etl-scala-apis-glue-dq-EvaluateDataQuality"></a>


|  | 
| --- |
|  AWS Glue Data Quality est en version préliminaire AWS Glue et est susceptible d'être modifiée.  | 

**Package : com.amazonaws.services.glue.dq**

```
object EvaluateDataQuality
```

## Def apply
<a name="glue-etl-scala-apis-glue-dq-EvaluateDataQuality-defs-apply"></a>

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

Évalue un ensemble de règles de qualité des données par rapport à un `DynamicFrame`, et renvoie un nouveau `DynamicFrame` avec les résultats de l'évaluation. Pour en savoir plus sur AWS Glue Data Quality, consultez[AWS Glue Qualité des données](glue-data-quality.md).
+ `frame` – `DynamicFrame` dont vous souhaitez évaluer la qualité des données.
+ `ruleset` – Ensemble 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)](dqdl.md).
+ `publishingOptions` – Dictionnaire qui spécifie les options de publication suivantes des résultats et des métriques d'une évaluation :
  + `dataQualityEvaluationContext`— Chaîne qui indique l'espace de noms sous lequel AWS Glue doit publier Amazon CloudWatch les métriques et les résultats de qualité des données. Les statistiques agrégées apparaissent dans CloudWatch, tandis que les résultats complets apparaissent dans l'interface de 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'option `dataQualityEvaluationContext`.
    + 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)

## Exemple
<a name="glue-etl-scala-apis-glue-dq-EvaluateDataQuality-example"></a>

L'exemple de code suivant montre comment évaluer la qualité des données pour `DynamicFrame` avant d'effectuer une transformation `SelectFields`. Le script vérifie que l'ensemble des règles de qualité des données sont conformes avant de tenter la transformation.

```
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()
  }
}
```