Couru à travers cela avec AWS Glue et Postgres. Il y avait un bogue dans Spark 2.1.0 qui l'a corrigé pour la plupart des gens, mais quelqu'un a posté une solution de contournement dans les commentaires sur l'utilisation d'un option customSchema .
J'ai eu un problème similaire avec AWS Glue et Spark SQL :je calculais un montant en devise, donc le résultat était un flottant. Glue a renvoyé l'erreur Decimal precision 1 exceeds max precision -1
même si le catalogue de données Glue a défini la colonne comme un nombre décimal. A pris une page de la solution customSchema ci-dessus en convertissant explicitement la colonne en NUMERIC(10,2) et Spark a cessé de se plaindre.