Clase ResolveChoice - AWS Glue

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Clase ResolveChoice

Resuelve un tipo de elección dentro de un elemento DynamicFrame.

Ejemplo

Se recomienda utilizar el método DynamicFrame.resolveChoice() para gestionar los campos que contienen varios tipos en un DynamicFrame. Para ver un ejemplo de código, consulte Ejemplo: utilice resolveChoice para gestionar una columna que contiene varios tipos.

Métodos

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

Proporciona información para resolver tipos ambiguos dentro de un elemento DynamicFrame. Devuelve el elemento DynamicFrame resultante.

  • frame: el elemento DynamicFrame en el que debe resolverse el tipo de elección (obligatorio).

  • specs: lista de ambigüedades concretas que deben resolverse; cada una en forma de tupla: (path, action). El valor de path identifica un elemento ambiguo concreto, mientras que el valor de action identifica la resolución correspondiente.

    Solo se puede utilizar el parámetro spec y el parámetro choice. Si el parámetro spec no es None, el parámetro choice tiene que ser una cadena vacía. Y viceversa, si el parámetro choice no es una cadena vacía, el parámetro spec tiene que ser None. Si no se proporciona ninguno de estos parámetros, AWS Glue intenta analizar el esquema y utilizarlo para resolver ambigüedades.

    Puede especificar una de las cuatro estrategias de resolución en la parte action de una tupla specs:

    • cast: le permite especificar el tipo al que se realizará una conversión (por ejemplo, cast:int).

    • make_cols: resuelve una posible ambigüedad al aplanar los datos. Por ejemplo, si columnA puede ser tanto un int como una string, la resolución consiste en producir dos columnas llamadas columnA_int y columnA_string en el elemento DynamicFrame resultante.

    • make_struct: resuelve una posible ambigüedad con una estructura para representar los datos. Por ejemplo, si los datos de una columna pueden ser tanto un int como una string, si usa la acción make_struct generará una columna de estructuras en el elemento DynamicFrame resultante, en la que cada estructura contendrá un int y una string.

    • project: resuelve una posible ambigüedad conservando solo los valores de un tipo especificado en el DynamicFrame resultante. Por ejemplo, si los datos de una columna ChoiceType pueden ser un int o una string, al especificar una acción project:string se descartan los valores del DynamicFrame que no son del tipo string.

    Si en path se identifica una matriz, incluya corchetes vacíos después del nombre de la matriz para evitar ambigüedades. Por ejemplo, suponga que está trabajando con datos estructurados tal y como se indica a continuación:

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

    Puede seleccionar la versión numérica en vez de la de cadena del precio si configura path en "myList[].price" y action en "cast:double".

  • choice: la acción de resolución predeterminada si el parámetro specs es None. Si el parámetro specs no es None, este parámetro no tiene que establecerse en nada, sino que debe dejarse como una cadena vacía.

    Además de las acciones descritas anteriormente para specs, este argumento también admite la siguiente acción:

    • MATCH_CATALOG: intenta convertir cada ChoiceType al tipo correspondiente en la tabla de Data Catalog especificada.

  • database: la base de datos del catálogo de datos de AWS Glue que se utilizará con la elección MATCH_CATALOG (obligatoria para MATCH_CATALOG).

  • table_name: el nombre de la tabla del catálogo de datos de AWS Glue que se utilizará con la elección MATCH_CATALOG (obligatoria para MATCH_CATALOG).

  • transformation_ctx: cadena única que se utiliza para identificar la información del estado (opcional).

  • info: cadena que está asociada a errores en la transformación (opcional).

  • stageThreshold: cantidad máxima de errores que se puede producir en la transformación antes de que se determine que es errónea (opcional). El rol predeterminado es cero.

  • totalThreshold: cantidad máxima de errores que se pueden producir en total antes de que se determine que el proceso es erróneo (opcional). El rol predeterminado es cero.

apply(cls, *args, **kwargs)

Heredado de GlueTransform apply.

name(cls)

Heredado de GlueTransform name.

describeArgs(cls)

Heredado de GlueTransform describeArgs.

describeReturn(cls)

Heredado de GlueTransform describeReturn.

describeTransform(cls)

Heredado de GlueTransform describeTransform.

describeErrors(cls)

Heredado de GlueTransform describeErrors.

describe(cls)

Heredado de GlueTransform describe.