

# ResolveChoice クラス
<a name="aws-glue-api-crawler-pyspark-transforms-ResolveChoice"></a>

`DynamicFrame` 内で Choice 型を解決します。

## 例
<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>
+ [\$1\$1call\$1\$1](#aws-glue-api-crawler-pyspark-transforms-ResolveChoice-__call__)
+ [適用](#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)
+ [説明](#aws-glue-api-crawler-pyspark-transforms-ResolveChoice-describe)

## \$1\$1call\$1\$1(frame, specs = None, choice = "", transformation\$1ctx = "", info = "", stageThreshold = 0, totalThreshold = 0)
<a name="aws-glue-api-crawler-pyspark-transforms-ResolveChoice-__call__"></a>

`DynamicFrame` 内のあいまいな型を解決するための情報を提供します。作成された `DynamicFrame` を返します。
+ `frame` – Choice 型を解決する `DynamicFrame` (必須)。
+ `specs` – 解決する特定のあいまいさのリスト、それぞれがタプルの形式: `(path, action)`。`path` 値は特定のあいまいな要素を識別し、`action` 値は対応する解決を識別します。

  `spec` パラメータおよび `choice` パラメータのうち 1 つのみを使用できます。`spec` パラメータが `None` ではない場合、`choice` パラメータは空の文字列である必要があります。逆に、`choice` が空の文字列ではない場合、`spec` パラメータは `None` である必要があります。どちらのパラメータも指定されていない場合、AWS Glue はスキーマを解析し、それを使用してあいまいさを解決します。

  `specs` タプルの `action` 部分で、次の解決策のうちの 1 つを指定できます。
  + `cast` – キャスト先の型を指定できます (例: `cast:int`)。
  + `make_cols` – データをフラット化することで潜在的なあいまいさを解消します。たとえば、`columnA` が `int` または `string` の場合、解決策は、`DynamicFrame` に `columnA_int` および `columnA_string` という名前の 2 つの列を生成することです。
  + `make_struct` – 構造体を使用してデータを表現することで、潜在的なあいまいさを解決します。たとえば、列のデータが `int` または `string` の場合、`make_struct` アクションを使用すると、作成された `DynamicFrame` に `int` および `string` の両方を含む構造体の列が生成されます。
  + `project` – 生成された `DynamicFrame` で指定された型の値のみを保持して、潜在的なあいまいさを解決します。例えば、`ChoiceType` 列のデータが `int` または `string` となる可能性がある場合、`project:string` アクションを指定すると、生成された `DynamicFrame` から `string` 型以外の値が削除されます。

  `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 Data Catalog データベース (`MATCH_CATALOG` に必要)。
+ `table_name` – `MATCH_CATALOG` アクションで使用する AWS Glue Data Catalog のテーブル名 (`MATCH_CATALOG` に必要)。
+ `transformation_ctx` - 状態情報を識別するために使用される一意の文字列 (オプション)。
+ `info` - 変換のエラーに関連付けられた文字列 (オプション)。
+ `stageThreshold` – エラーを出力する前に、変換で発生する可能性のあるエラーの最大数 (オプション)。デフォルト値は 0 です。
+ `totalThreshold` – エラーの出力を処理する前に、全体で発生する可能性のあるエラーの最大数 (オプション)。デフォルト値は 0 です。

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

継承元は `GlueTransform` [適用](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` [名前](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` [説明](aws-glue-api-crawler-pyspark-transforms-GlueTransform.md#aws-glue-api-crawler-pyspark-transforms-GlueTransform-describe)。