Classe ResolveChoice - AWS Glue

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 – O DynamicFrame 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 valor path identifica um elemento ambíguo específico, e o valor action identifica a resolução correspondente.

    É possível usar somente um dos parâmetros spec e choice. Se o parâmetro spec não for None, o parâmetro choice precisará ser uma string vazia. Por outro lado, se o choice não for uma string vazia, o parâmetro spec precisará ser None. 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 tupla specs:

    • 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, se columnA puder ser int ou string, a resolução é produzir duas colunas chamadas columnA_int e columnA_string no DynamicFrame 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 um int ou string, usar a ação make_struct produzirá uma coluna de estruturas no DynamicFrame resultante, com cada uma contendo int e string.

    • project: resolve uma possível ambiguidade retendo somente valores de um tipo especificado no DynamicFrame resultante Por exemplo, se os dados em uma coluna ChoiceType pudessem ser um int ou uma string, especificar uma ação project:string descartaria valores do DynamicFrame resultante que não fossem do tipo string.

    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" e action como "cast:double".

  • choice: a ação de resolução padrão se o parâmetro specs for None. Se o parâmetro specs não for None, 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_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 escolha MATCH_CATALOG (obrigatório para MATCH_CATALOG).

  • table_name: o nome da tabela do AWS Glue Data Catalog a ser usado com a ação MATCH_CATALOG (obrigatório para MATCH_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.