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– ODynamicFrameno 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 valorpathidentifica um elemento ambíguo específico, e o valoractionidentifica a resolução correspondente.É possível usar somente um dos parâmetros
specechoice. Se o parâmetrospecnão forNone, o parâmetrochoiceprecisará ser uma string vazia. Por outro lado, se ochoicenão for uma string vazia, o parâmetrospecprecisará 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
actionde 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, secolumnApuder serintoustring, a resolução é produzir duas colunas chamadascolumnA_intecolumnA_stringnoDynamicFrameresultante. -
make_struct: resolve uma ambiguidade em potencial usando um struct para representar os dados. Por exemplo, se os dados em uma coluna pudessem ser umintoustring, usar a açãomake_structproduzirá uma coluna de estruturas noDynamicFrameresultante, com cada uma contendointestring. -
project: resolve uma possível ambiguidade retendo somente valores de um tipo especificado noDynamicFrameresultante Por exemplo, se os dados em uma colunaChoiceTypepudessem ser umintou umastring, especificar uma açãoproject:stringdescartaria valores doDynamicFrameresultante que não fossem do tipostring.
Se o
pathidentifica 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
pathcomo"myList[].price"eactioncomo"cast:double". -
-
choice: a ação de resolução padrão se o parâmetrospecsforNone. Se o parâmetrospecsnão forNone, isso deve ser configurado como uma string vazia.Além das ações
specslistadas anteriormente, este modo também aceita a seguinte ação:-
MATCH_CATALOGChoiceType: 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.
aplicar(cls, *args, **kwargs)
Herdado de GlueTransform apply.
name(cls)
Herdado de GlueTransform nome.
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.