Mi sono imbattuto in questo con AWS Glue e Postgres. C'era un bug in Spark 2.1.0 che lo risolveva per la maggior parte delle persone, ma qualcuno ha pubblicato una soluzione alternativa nei commenti sull'uso di un opzione CustomSchema .
Ho avuto un problema simile con AWS Glue e Spark SQL:stavo calcolando un importo in valuta, quindi il risultato è stato un float. Glue ha generato l'errore Decimal precision 1 exceeds max precision -1
anche se Glue Data Catalog ha definito la colonna come decimale. Ha preso una pagina dalla soluzione customSchema di cui sopra eseguendo esplicitamente il cast della colonna come NUMERIC(10,2) e Spark ha smesso di lamentarsi.