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 elementoDynamicFrameen 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 depathidentifica un elemento ambiguo concreto, mientras que el valor deactionidentifica la resolución correspondiente.Solo se puede utilizar el parámetro
specy el parámetrochoice. Si el parámetrospecno esNone, el parámetrochoicetiene que ser una cadena vacía. Y viceversa, si el parámetrochoiceno es una cadena vacía, el parámetrospectiene que serNone. 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
actionde una tuplaspecs:-
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, sicolumnApuede ser tanto unintcomo unastring, la resolución consiste en producir dos columnas llamadascolumnA_intycolumnA_stringen el elementoDynamicFrameresultante. -
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 unintcomo unastring, si usa la acciónmake_structgenerará una columna de estructuras en el elementoDynamicFrameresultante, en la que cada estructura contendrá uninty unastring. -
project: resuelve una posible ambigüedad conservando solo los valores de un tipo especificado en elDynamicFrameresultante. Por ejemplo, si los datos de una columnaChoiceTypepueden ser uninto unastring, al especificar una acciónproject:stringse descartan los valores delDynamicFrameque no son del tipostring.
Si en
pathse 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
pathen"myList[].price"yactionen"cast:double". -
-
choice: la acción de resolución predeterminada si el parámetrospecsesNone. Si el parámetrospecsno esNone, 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 cadaChoiceTypeal 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ónMATCH_CATALOG(obligatoria paraMATCH_CATALOG). -
table_name: el nombre de la tabla del catálogo de datos de AWS Glue que se utilizará con la elecciónMATCH_CATALOG(obligatoria paraMATCH_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 nombre.
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.