Classe ResolveChoice - AWS Glue

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à.

Classe ResolveChoice

Risolve un tipo di scelta all'interno di un DynamicFrame.

Esempio

Ti consigliamo di utilizzare il metodo DynamicFrame.resolveChoice() per gestire campi che contengono più tipi in un DynamicFrame. Per visualizzare un esempio di codice, consulta Esempio: utilizzare resolveChoice per gestire una colonna che contiene più tipi.

Metodi

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

Fornisce informazioni per risolvere tipi ambigui all'interno di un DynamicFrame. Restituisce il DynamicFrame risultante.

  • frame: il DynamicFrame in cui risolvere il tipo di scelta (obbligatorio).

  • specs: elenco di ambiguità specifiche da risolvere, ognuna sotto forma di tupla:(path, action). Il valore path identifica un elemento ambiguo specifico e il valore action identifica la soluzione corrispondente.

    Può essere utilizzato solo uno dei parametri spec e choice. Se il parametro spec non è None, allora il parametro choice deve essere una stringa vuota. Viceversa, se choice non è una stringa vuota, allora il parametro spec deve essere None. Se non viene fornito alcun parametro, AWS Glue cerca di analizzare lo schema e di usarlo per risolvere le ambiguità.

    La parte action di una tupla specs può specificare una delle quattro strategie di risoluzione possibili:

    • cast: consente di specificare un tipo verso cui trasmettere (ad esempio, cast:int).

    • make_cols: risolve una potenziale ambiguità appiattendo i dati. Ad esempio, se columnA è un int o una string, la soluzione consiste nel produrre due colonne denominate columnA_int e columnA_string nel DynamicFrame risultante.

    • make_struct: risolve una potenziale ambiguità utilizzando una struttura per rappresentare i dati. Ad esempio, se i dati in una colonna sono un int o una string, utilizzando l'operazione make_struct viene prodotta una colonna di strutture nel DynamicFrame risultante, ognuna contenente sia un int che una string.

    • project: risolve un potenziale ambiguità conservando solo i valori di un tipo specificato nel DynamicFrame risultante. Ad esempio, se i dati in una colonna ChoiceType possono essere di tipo int o string, specificando un'operazione project:string si rimuovono i valori dal DynamicFrame risultante che non sono di tipo string.

    Se il path identifica un array, inserisci parentesi quadre vuote dopo il nome dell'array per evitare ambiguità. Ad esempio, supponiamo che tu stia lavorando con dati strutturati nel seguente modo:

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

    Puoi selezionare la versione numerica invece di quella di stringa del prezzo impostando il path su "myList[].price" e la action su "cast:double".

  • choice: l'operazione di risoluzione di default se il parametro specs è None. Se il parametro specs non è None, allora deve essere impostato solo su una stringa vuota.

    Oltre alle operazioni elencate in precedenza per specs, questo argomento supporta anche l'operazione seguente:

    • MATCH_CATALOG: tenta di trasmettere ogni ChoiceType al tipo corrispondente nella tabella del catalogo specificata.

  • database: il database AWS Glue Data Catalog da utilizzare con la scelta MATCH_CATALOG (obbligatorio perMATCH_CATALOG).

  • table_name: il nome della tabella AWS Glue Data Catalog da utilizzare con l’operazione MATCH_CATALOG (obbligatorio per MATCH_CATALOG).

  • transformation_ctx: una stringa univoca utilizzata per identificare informazioni sullo stato (opzionale).

  • info: una stringa associata a errori nella trasformazione (opzionale).

  • stageThreshold: il numero massimo di errori che si possono verificare nella trasformazione prima che venga arrestata (facoltativo). Il valore di default è zero.

  • totalThreshold: il numero massimo di errori che si possono verificare in totale prima che l'elaborazione venga arrestata (facoltativo). Il valore di default è zero.

apply(cls, *args, **kwargs)

Ereditato da GlueTransform apply.

name(cls)

Ereditato da GlueTransform name.

describeArgs(cls)

Ereditato da GlueTransform describeArgs.

describeReturn(cls)

Ereditato da GlueTransform describeReturn.

describeTransform(cls)

Ereditato da GlueTransform describeTransform.

describeErrors(cls)

Ereditato da GlueTransform describeErrors.

describe(cls)

Ereditato da GlueTransform describe.