

# EvaluateDataQuality 클래스
<a name="aws-glue-api-crawler-pyspark-transforms-EvaluateDataQuality"></a>

`DynamicFrame`을 기준으로 데이터 품질 규칙 세트를 평가하고 새 `DynamicFrame`을 평가 결과와 함께 반환합니다.

## 예제
<a name="pyspark-EvaluateDataQuality-example"></a>

다음 예제 코드는 `DynamicFrame`의 데이터 품질을 평가한 다음 데이터 품질 결과를 확인하는 방법을 보여줍니다.

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

### 출력
<a name="pyspark-EvaluateDataQuality-example-output"></a>

```
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}|
+-----------------------+-------+-------------+---------------------------------------+
```

## 메서드
<a name="aws-glue-api-crawler-pyspark-transforms-EvaluateDataQuality-_methods"></a>
+ [\_\_call\_\_](#aws-glue-api-crawler-pyspark-transforms-EvaluateDataQuality-__call__)
+ [apply](#aws-glue-api-crawler-pyspark-transforms-EvaluateDataQuality-apply)
+ [이름](#aws-glue-api-crawler-pyspark-transforms-EvaluateDataQuality-name)
+ [describeArgs](#aws-glue-api-crawler-pyspark-transforms-EvaluateDataQuality-describeArgs)
+ [describeReturn](#aws-glue-api-crawler-pyspark-transforms-EvaluateDataQuality-describeReturn)
+ [describeTransform](#aws-glue-api-crawler-pyspark-transforms-EvaluateDataQuality-describeTransform)
+ [describeErrors](#aws-glue-api-crawler-pyspark-transforms-EvaluateDataQuality-describeErrors)
+ [describe](#aws-glue-api-crawler-pyspark-transforms-EvaluateDataQuality-describe)

## \_\_call\_\_(frame, ruleset, publishing\_options = {})
<a name="aws-glue-api-crawler-pyspark-transforms-EvaluateDataQuality-__call__"></a>
+ `frame` - 데이터 품질을 평가하려는 `DynamicFrame`입니다.
+ `ruleset` - 문자열 형식의 DQDL(데이터 품질 정의 언어) 규칙 세트입니다. DQDL에 대한 자세한 내용은 [데이터 품질 정의 언어(DQDL) 참조](dqdl.md) 안내서를 참조하세요.
+ `publishing_options` - 평가 결과 및 지표를 게시하기 위해 다음 옵션을 지정하는 사전입니다.
  + `dataQualityEvaluationContext` - AWS Glue가 Amazon CloudWatch 지표와 데이터 품질 결과를 게시할 네임스페이스를 지정하는 문자열입니다. 집계된 지표는 CloudWatch에 표시되고 전체 결과는 AWS Glue Studio 인터페이스에 표시됩니다.
    + 필수 여부: 아니요
    + 기본값: `default_context`
  + `enableDataQualityCloudWatchMetrics` - 데이터 품질 평가 결과를 CloudWatch에 게시할지 여부를 지정합니다. `dataQualityEvaluationContext` 옵션을 사용하여 지표의 네임스페이스를 지정합니다.
    + 필수 여부: 아니요
    + 기본값: False
  + `enableDataQualityResultsPublishing` - AWS Glue Studio 인터페이스의 **Data Quality**(데이터 품질) 탭에 데이터 품질 결과를 표시할지 여부를 지정합니다.
    + 필수 여부: 아니요
    + 기본값: True
  + `resultsS3Prefix` - AWS Glue가 데이터 품질 평가 결과를 기록할 수 있는 Amazon S3 위치를 지정합니다.
    + 필수 여부: 아니요
    + 기본값: ""(빈 문자열)

## apply(cls, \*args, \*\*kwargs)
<a name="aws-glue-api-crawler-pyspark-transforms-EvaluateDataQuality-apply"></a>

`GlueTransform` [apply](aws-glue-api-crawler-pyspark-transforms-GlueTransform.md#aws-glue-api-crawler-pyspark-transforms-GlueTransform-apply)에서 상속됩니다.

## name(cls)
<a name="aws-glue-api-crawler-pyspark-transforms-EvaluateDataQuality-name"></a>

`GlueTransform` [name](aws-glue-api-crawler-pyspark-transforms-GlueTransform.md#aws-glue-api-crawler-pyspark-transforms-GlueTransform-name)에서 상속됩니다.

## describeArgs(cls)
<a name="aws-glue-api-crawler-pyspark-transforms-EvaluateDataQuality-describeArgs"></a>

`GlueTransform` [describeArgs](aws-glue-api-crawler-pyspark-transforms-GlueTransform.md#aws-glue-api-crawler-pyspark-transforms-GlueTransform-describeArgs)에서 상속됩니다.

## describeReturn(cls)
<a name="aws-glue-api-crawler-pyspark-transforms-EvaluateDataQuality-describeReturn"></a>

`GlueTransform` [describeReturn](aws-glue-api-crawler-pyspark-transforms-GlueTransform.md#aws-glue-api-crawler-pyspark-transforms-GlueTransform-describeReturn)에서 상속됩니다.

## describeTransform(cls)
<a name="aws-glue-api-crawler-pyspark-transforms-EvaluateDataQuality-describeTransform"></a>

`GlueTransform` [describeTransform](aws-glue-api-crawler-pyspark-transforms-GlueTransform.md#aws-glue-api-crawler-pyspark-transforms-GlueTransform-describeTransform)에서 상속됩니다.

## describeErrors(cls)
<a name="aws-glue-api-crawler-pyspark-transforms-EvaluateDataQuality-describeErrors"></a>

`GlueTransform` [describeErrors](aws-glue-api-crawler-pyspark-transforms-GlueTransform.md#aws-glue-api-crawler-pyspark-transforms-GlueTransform-describeErrors)에서 상속됩니다.

## describe(cls)
<a name="aws-glue-api-crawler-pyspark-transforms-EvaluateDataQuality-describe"></a>

`GlueTransform` [describe](aws-glue-api-crawler-pyspark-transforms-GlueTransform.md#aws-glue-api-crawler-pyspark-transforms-GlueTransform-describe)에서 상속됩니다.