

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

선택 유형을 `DynamicFrame` 내에서 해결합니다.

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

[`DynamicFrame.resolveChoice()`](aws-glue-api-crawler-pyspark-extensions-dynamic-frame.md#aws-glue-api-crawler-pyspark-extensions-dynamic-frame-resolveChoice) 메서드를 사용하여 `DynamicFrame`에 여러 유형이 포함된 필드를 처리하는 것이 좋습니다. 코드에 대한 예제는 [예: resolveChoice를 사용하여 여러 유형이 포함된 열을 처리합니다](aws-glue-api-crawler-pyspark-extensions-dynamic-frame.md#pyspark-resolveChoice-example) 단원을 참조하세요.

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

## \_\_call\_\_(frame, specs = none, choice = "", transformation\_ctx = "", info = "", stageThreshold = 0, totalThreshold = 0)
<a name="aws-glue-api-crawler-pyspark-transforms-ResolveChoice-__call__"></a>

모호한 유형을 `DynamicFrame` 내에서 해결하기 위한 정보를 제공합니다. 결과 `DynamicFrame`를 반환합니다.
+ `frame` – `DynamicFrame`은 선택 유형을 해결합니다(필수).
+ `specs` - 해결할 특정 모호성 목록이며, 각각은 `(path, action)`의 튜플 형식입니다. `path` 가치는 특정 모호한 요소를 확인하고 `action` 가치는 관련 해결 방안을 제안합니다.

  `spec` 및 `choice` 파라미터 중 하나만 사용할 수 있습니다. `spec` 파라미터가 `None`이 아니면 `choice` 파라미터는 빈 문자열이어야 합니다. 반대로 `choice` 파라미터가 빈 문자열이 아니면, `spec` 파라미터는 `None`이어야 합니다. 어떠한 파라미터도 제공되지 않을 경우, AWS Glue는 스키마를 구문분석하고 모호함을 해결하기 위해 사용합니다.

  `specs` 튜플의 `action` 부분에서 다음 해결 전략 중 하나를 지정할 수 있습니다.
  + `cast` - 보내버릴 유형을 명시할 수 있도록 도와줍니다. (예를 들어, `cast:int`).
  + `make_cols` - 데이터를 평면화하여 잠재적 모호성을 해결합니다. 예를 들어, `columnA`가 `int` 혹은 `string`이면 해결 방안은 `DynamicFrame`에서 `columnA_int`와 `columnA_string`으로 된 두 열을 생산하는 것입니다.
  + `make_struct` - 데이터를 나타내도록 구조를 사용하여 잠재적 모호성을 해결합니다. 예를 들어, 열에서 데이터가 `int` 혹은 `string`이면 `make_struct` 작업은 각 `DynamicFrame`와 `int`을 포함하는 결과인 `string`의 구조 열을 생성합니다.
  + `project` - 결과 `DynamicFrame`에 지정된 유형의 값만 유지하여 잠재적 모호성을 해결합니다. 예를 들어 `ChoiceType` 열에서 데이터가 `int` 혹은 `string`이면 `project:string` 작업은 `string` 유형이 아닌 결과 `DynamicFrame`의 값을 삭제합니다.

  만약 `path`가 배열을 확인하면, 빈 대괄호를 배열 이름 다음에 만들어 모호성을 피합니다. 예를 들어, 다음과 같은 구조화된 데이터와 작업한다고 가정합시다.

  ```
  "myList": [
    { "price": 100.00 },
    { "price": "$100.00" }
  ]
  ```

  `path`를 `"myList[].price"`로 설정하고, `action`을 `"cast:double"`로 설정하여 가격의 문자열 버전보다 숫자 버전을 선택할 수 있습니다.
+ `choice` - `specs` 파라미터가 `None`인 경우의 기본 해결 작업입니다. `specs` 파라미터가 `None`이 아니면 이것은 어떠한 것에도 설정되지 않고 빈 문자열이어야 합니다.

  이 인수는 앞에서 설명된 `specs` 작업 외에 다음 작업을 지원합니다.
  + `MATCH_CATALOG` – 각 `ChoiceType`을 지정된 Data Catalog 테이블의 해당 유형에 캐스팅해봅니다.
+ `database` — `MATCH_CATALOG` 선택 항목과 함께 사용할 AWS Glue 데이터 카탈로그 데이터베이스입니다(`MATCH_CATALOG`에 대해 필수).
+ `table_name`— `MATCH_CATALOG` 작업에 사용할 AWS Glue 데이터 카탈로그 테이블 이름 입니다(`MATCH_CATALOG`에 대해 필수).
+ `transformation_ctx` - 고유 문자열을 통해 상태 정보를 확인합니다(선택 사항).
+ `info` - 변환에 따른 오류 관련 문자열입니다(선택 사항).
+ `stageThreshold` - 오류가 발생하기 전까지 변환에 따라 생길 수 있는 최대 오류 수입니다(선택 사항). 기본값은 0입니다.
+ `totalThreshold` - 오류가 진행되기 전까지 생길 수 있는 최대 전체 오류 수입니다(선택 사항). 기본값은 0입니다.

## apply(cls, \*args, \*\*kwargs)
<a name="aws-glue-api-crawler-pyspark-transforms-ResolveChoice-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-ResolveChoice-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-ResolveChoice-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-ResolveChoice-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-ResolveChoice-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-ResolveChoice-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-ResolveChoice-describe"></a>

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