Classe ResolveChoice - AWS Glue

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.

Classe ResolveChoice

Résout un type de choix au sein d'un DynamicFrame.

Exemple

Nous vous recommandons d'utiliser la méthode DynamicFrame.resolveChoice() pour gérer les champs contenant plusieurs types dans une image DynamicFrame. Vous trouverez un exemple de code, consultez Exemple : resolveChoice à utiliser pour gérer une colonne contenant plusieurs types.

Méthodes

__call__(frame, specs = None, choice = "", transformation_ctx = "", info = "", stageThreshold = 0, totalThreshold = 0)

Fournit des informations pour résoudre les types ambigus au sein d'un DynamicFrame. Renvoie l'image DynamicFrame obtenue.

  • frameDynamicFrame dans lequel résoudre le type de choix (obligatoire).

  • specs – Liste d'ambiguïtés spécifiques à résoudre, apparaissant sous forme de tuple:(path, action). La valeur path identifie un élément ambigu spécifique, et la valeur action identifie la résolution correspondante.

    Vous ne pouvez utiliser qu'un seul des paramètres spec et choice. Si le paramètre spec n'est pas None, alors le paramètre choice doit être une chaîne vide. Inversement, si le paramètre choice n'est pas une chaîne vide, alors le paramètre spec doit être None. Si aucun de ces paramètres n'est fourni, AWS Glue essaie d'analyser le schéma et l'utilise pour résoudre les ambiguïtés.

    Vous pouvez spécifier l'une des stratégies de résolution suivantes dans la portion action d'un tuple specs :

    • cast – Vous permet de spécifier un type pour la conversion (par exemple, cast:int).

    • make_cols – Résout une ambiguïté potentielle en aplatissant les données. Par exemple, si columnA peut être un int ou un string, la résolution doit produire deux colonnes nommées columnA_int et columnA_string dans le DynamicFrame obtenu.

    • make_struct – Résout une ambiguïté potentielle en utilisant un champ struct pour représenter les données. Par exemple, si des données d'une colonne peuvent être un int ou un string, l'action make_struct produit une colonne de structures dans le DynamicFrame obtenu, chacune contenant à la fois un int et un string.

    • project – Résout une éventuelle ambiguïté en conservant uniquement les valeurs d'un type spécifié dans l'image DynamicFrame obtenue. Par exemple, si les données d'une colonne ChoiceType peuvent être de type int ou string, la spécification d'une action project:string supprime des valeurs de l'image DynamicFrame obtenue qui ne sont pas de type string.

    Si le path identifie un tableau, placez des crochets vides après le nom du tableau pour éviter toute ambiguïté. Par exemple, supposons que vous travailliez avec les données structurées comme suit :

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

    Vous pouvez sélectionner la version numérique plutôt que la version chaîne du prix en définissant path sur "myList[].price" et action sur "cast:double".

  • choice – action de résolution par défaut si le paramètre specs est None. Si le paramètre specs n'est pas None, alors la seule valeur définie doit être une chaîne vide.

    En plus des actions specs répertoriées précédemment, cet argument prend également en charge l'action suivante :

    • MATCH_CATALOG – tente de convertir chaque ChoiceType dans le type correspondant de table Data Catalog spécifiée.

  • database – Base de données Catalogue de données AWS Glue à utiliser avec l'action MATCH_CATALOG (obligatoire pour MATCH_CATALOG).

  • table_name – Nom de la table du Catalogue de données AWS Glue à utiliser avec l'action MATCH_CATALOG (obligatoire pour MATCH_CATALOG).

  • transformation_ctx – Chaîne unique utilisée pour identifier les informations sur l'état (facultatif).

  • info – Chaîne associée à des erreurs dans la transformation (facultatif).

  • stageThreshold – nombre maximal d'erreurs qui peuvent avoir lieu dans la transformation avant qu'elle ne soit arrêtée.(facultatif) La valeur par défaut est zéro.

  • totalThreshold – nombre maximal d'erreurs pouvant se produire globalement avant que le processus de traitement des erreurs ne soit arrêté.(facultatif) La valeur par défaut est zéro.

apply(cls, *args, **kwargs)

Hérité de GlueTransform s'appliquent.

name(cls)

Hérité de GlueTransform name.

describeArgs(cls)

Hérité de GlueTransform describeArgs.

describeReturn(cls)

Hérité de GlueTransform describeReturn.

describeTransform(cls)

Hérité de GlueTransform describeTransform.

describeErrors(cls)

Hérité de GlueTransform describeErrors.

describe(cls)

Hérité de GlueTransform describe.