Classe ResolveChoice
Resolve um tipo de escolha dentro de um DynamicFrame
.
Exemplo
Recomendamos usar o método DynamicFrame.resolveChoice() para lidar com campos que contêm vários tipos em um DynamicFrame
. Para visualizar um código de exemplo, consulte Exemplo: usar resolveChoice para lidar com uma coluna que contém vários tipos.
Métodos
__call__(frame, specs = none, choice = "", transformation_ctx = "", info = "", stageThreshold = 0, totalThreshold = 0)
Fornece informações para resolver tipos ambíguos dentro de um DynamicFrame
. Retorna o DynamicFrame
resultante.
-
frame
– ODynamicFrame
no qual o tipo de escolha será resolvido (obrigatório). -
specs
: uma lista de ambiguidades específicas para resolver, cada uma na forma de uma tupla:(path, action)
. O valorpath
identifica um elemento ambíguo específico, e o valoraction
identifica a resolução correspondente.É possível usar somente um dos parâmetros
spec
echoice
. Se o parâmetrospec
não forNone
, o parâmetrochoice
precisará ser uma string vazia. Por outro lado, se ochoice
não for uma string vazia, o parâmetrospec
precisará serNone
. Se nenhum dos parâmetros for fornecido, o AWS Glue tentará analisar o esquema e usá-lo para resolver ambiguidades.É possível especificar uma das seguintes estratégias de resolução na porção
action
de uma tuplaspecs
:-
cast
: permite especificar um tipo a ser convertido (por exemplo:cast:int
). -
make_cols
: resolve uma possível ambiguidade ao nivelar os dados. Por exemplo, secolumnA
puder serint
oustring
, a resolução é produzir duas colunas chamadascolumnA_int
ecolumnA_string
noDynamicFrame
resultante. -
make_struct
: resolve uma ambiguidade em potencial usando um struct para representar os dados. Por exemplo, se os dados em uma coluna pudessem ser umint
oustring
, usar a açãomake_struct
produzirá uma coluna de estruturas noDynamicFrame
resultante, com cada uma contendoint
estring
. -
project
: resolve uma possível ambiguidade retendo somente valores de um tipo especificado noDynamicFrame
resultante Por exemplo, se os dados em uma colunaChoiceType
pudessem ser umint
ou umastring
, especificar uma açãoproject:string
descartaria valores doDynamicFrame
resultante que não fossem do tipostring
.
Se o
path
identifica um array, insira colchetes vazios após o nome do array para evitar ambiguidades. Por exemplo, vamos supor que você esteja trabalhando com dados estruturados da seguinte maneira:"myList": [ { "price": 100.00 }, { "price": "$100.00" } ]
Você pode selecionar a versão numérica em vez da versão string do preço definindo
path
como"myList[].price"
eaction
como"cast:double"
. -
-
choice
: a ação de resolução padrão se o parâmetrospecs
forNone
. Se o parâmetrospecs
não forNone
, isso deve ser configurado como uma string vazia.Além das ações
specs
listadas anteriormente, este modo também aceita a seguinte ação:-
MATCH_CATALOG
ChoiceType
: tenta converter cada para o tipo correspondente na tabela do Data Catalog especificada.
-
-
database
: o banco de dados do AWS Glue Data Catalog a ser usado com a escolhaMATCH_CATALOG
(obrigatório paraMATCH_CATALOG
). -
table_name
: o nome da tabela do AWS Glue Data Catalog a ser usado com a açãoMATCH_CATALOG
(obrigatório paraMATCH_CATALOG
). -
transformation_ctx
– Uma string única que é usada para identificar informações de estado (opcional). -
info
– Uma string associada a erros na transformação (opcional). -
stageThreshold
: o número máximo de erros que podem ocorrer na transformação antes que ela falhe (opcional). O padrão é zero. -
totalThreshold
: o número máximo de erros que podem ocorrer em geral antes que falhe (opcional). O padrão é zero.
apply(cls, *args, **kwargs)
Herdado de GlueTransform
apply.
name(cls)
Herdado de GlueTransform
name.
describeArgs(cls)
Herdado de GlueTransform
describeArgs.
describeReturn(cls)
Herdado de GlueTransform
describeReturn.
describeTransform(cls)
Herdado de GlueTransform
describeTransform.
describeErrors(cls)
Herdado de GlueTransform
describeErrors.
describe(cls)
Herdado de GlueTransform
describe.