Did you find a solution yet? I had the same problem and still try to figure out. Which version of spark do you have?
A simple workaround is to transform the geometry column to wkt or wkb and drop the geometry column.
In case of reading you have to tranform it back. Its not nice but functional.
df = df.withColumn("geometry_wkt", expr("ST_AsText(geometry)"))