1
resposta

[Bug] Schema não relaciona os campos criados no fluxo

Boa tarde, diferente da aula, ao criar o fluxo e colocar o segundo bloco de Change schema, o mesmo não está relacionando os novos campos criados.
Se prosseguirmos e colocarmos o próximo bloco do AWS Glue Data Catalog, e voltar a visualizar o bloco anterior do ChangeSchema, os campos passam a aparecer. Entretanto, ao rodar o Job, o seguinte erro surge:

Error Category: RESOURCE_NOT_FOUND_ERROR; Failed Line Number: 51; Spark Error Class: _LEGACY_ERROR_TEMP_1155; AnalysisException: Partition column open_year not found in schema struct<case_enquiry_id:bigint,open_dt:timestamp,closed_dt:timestamp,case_status:string,case_title:string,subject:string,reason:string,type:string,queue:string,department:string,location:string,fire_district:string,pwd_district:string,city_council_district:string,police_district:string,neighborhood:string,neighborhood_services_district:string,ward:string,precinct:string,location_street_name:string,location_zipcode:string,latitude:string,longitude:string,source:string>.

Segui exatamente o passo a passo da aula,
Att

1 resposta

Ei, Cesar! Tudo bem?

Esse tipo de erro acontecendo quando o fluxo de transformação não reconhece de imediato os novos campos criados em blocos anteriores. E o campo open_year não está sendo encontrado no momento da execução. É importante lembrar que o o Glue só reconhece partições se elas estiverem no schema final antes do bloco de gravação.

Sugiro que revise alguns pontos para reparar:

  1. Verifique se no segundo Change Schema, o campo open_year realmente está presente.

  2. Se não estiver, adicione manualmente esse campo clicando em “+ Add” no schema e informando o nome e tipo do campo:

  • Field name: open_year

  • Type: int ou string (dependendo do que você extraiu)

  1. Confirme se o campo está sendo gerado corretamente no bloco anterior.

  2. Depois disso, avance até o bloco final de gravação no catálogo e veja se o campo aparece lá também.

  3. Rode novamente o Job.

Espero ter ajudado e qualquer dúvida, compartilhe no fórum.

Até mais, Cesar!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado!