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 elementoDynamicFrame
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 depath
identifica un elemento ambiguo concreto, mientras que el valor deaction
identifica la resolución correspondiente.Solo se puede utilizar el parámetro
spec
y el parámetrochoice
. Si el parámetrospec
no esNone
, el parámetrochoice
tiene que ser una cadena vacía. Y viceversa, si el parámetrochoice
no es una cadena vacía, el parámetrospec
tiene 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
action
de 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, sicolumnA
puede ser tanto unint
como unastring
, la resolución consiste en producir dos columnas llamadascolumnA_int
ycolumnA_string
en el elementoDynamicFrame
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 unint
como unastring
, si usa la acciónmake_struct
generará una columna de estructuras en el elementoDynamicFrame
resultante, en la que cada estructura contendrá unint
y unastring
. -
project
: resuelve una posible ambigüedad conservando solo los valores de un tipo especificado en elDynamicFrame
resultante. Por ejemplo, si los datos de una columnaChoiceType
pueden ser unint
o unastring
, al especificar una acciónproject:string
se descartan los valores delDynamicFrame
que no son del tipostring
.
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"
yaction
en"cast:double"
. -
-
choice
: la acción de resolución predeterminada si el parámetrospecs
esNone
. Si el parámetrospecs
no 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 cadaChoiceType
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ó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
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.