

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

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


|  | 
| --- |
|  AWS Glue Data Quality è in versione di anteprima AWS Glue ed è soggetto a modifiche.  | 

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

```
object EvaluateDataQuality
```

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

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

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. Per ulteriori informazioni su AWS Glue Data Quality, consulta[AWS Glue Qualità dei dati](glue-data-quality.md).
+ `frame`: il `DynamicFrame` di 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)](dqdl.md).
+ `publishingOptions`: 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 le Amazon CloudWatch metriche e i risultati sulla qualità dei dati. Le metriche aggregate vengono visualizzate in CloudWatch, mentre i risultati completi vengono visualizzati nell'interfaccia AWS Glue Studio.
    + Obbligatorio: no
    + Valore predefinito: `default_context`
  + `enableDataQualityCloudWatchMetrics`— Speciifica 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'opzione `dataQualityEvaluationContext`.
    + 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.
    + Obbligatorio: no
    + Valore predefinito: true
  + `resultsS3Prefix`— Speciifica la posizione di Amazon S3 in cui AWS Glue può scrivere i risultati della valutazione della qualità dei dati.
    + Obbligatorio: no
    + Valore predefinito: "" (stringa vuota)

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

Il codice di esempio seguente dimostra come valutare la qualità dei dati per un `DynamicFrame` prima di eseguire una trasformazione `SelectFields`. Lo script verifica che tutte le regole di qualità dei dati siano rispettate prima di tentare la trasformazione.

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