Natknąłem się na to z AWS Glue i Postgres. W Spark 2.1.0 wystąpił błąd, który naprawił go dla większości ludzi, ale ktoś opublikował obejście w komentarzach na temat używania opcja niestandardowego schematu .
Miałem podobny problem z AWS Glue i Spark SQL:obliczałem kwotę waluty, więc wynik był pływakowy. Klej wyrzucił błąd Decimal precision 1 exceeds max precision -1
mimo że Katalog danych kleju zdefiniował kolumnę jako ułamek dziesiętny. Wziąłem stronę z powyższego rozwiązania customSchema, jawnie rzutując kolumnę jako NUMERIC(10,2) i Spark przestał narzekać.