Estou tentando usar o AutoLoader com Databricks, mas estou sendo atingido por esta recomendação e erro:
org.apache.spark.sql.catalyst.util.UnknownFieldException:
[UNKNOWN_FIELD_EXCEPTION.NEW_FIELDS_IN_FILE]
Encountered unknown fields during parsing: [col_name_here],
which can be fixed by an automatic retry: true
Não consigo encontrar um único documento usando o Google que capture qualquer linguagem de erro, então não tenho certeza de como e onde posso usar essa suposta correção.
Meu código é o seguinte:
xd = spark.readStream.format("cloudFiles") \
.option("cloudFiles.format", "csv") \
.option("cloudFiles.schemaLocation", "dbfs:/mnt/temp/checkpoints/schema") \
.option("cloudFiles.schemaEvolutionMode","addNewColumns") \
.option("pathGlobfilter", "20230808_*") \
.load("/mnt/test_loc") \
.writeStream \
.format("delta") \
.outputMode("append") \
.option("checkpointLocation", "dbfs:/mnt/temp/checkpoints") \
.option("mergeSchema", "true") \
.option("overwriteSchema", "true") \
.toTable("dBronze.Table1")
Você só precisa executar novamente o seu código e ele captará as alterações no esquema. Se for um trabalho automatizado, você pode configurar novas tentativas no nível do trabalho (consulte a documentação ).
PS Você pode tentar consultar Delta Live Tables - ele tenta automaticamente essas tarefas.