В формате Spark запись csv
еще не поддерживает запись struct/array..etc
сложных типов.
Write as Parquet file:
Лучше писать в Spark как формат parquet
, как формат паркета поддерживает все nested data types
и обеспечивает лучшую производительность при чтении / записи.
df.write.parquet("<path>")
Write as Json file:
Если допускается запись в формате json, тогда
df.write.json("path")
#or
df.toJSON().saveAsTextFile("path")
Write as CSV file:
Используйте to_json
функцию, которая преобразует json struct/Array
в string
и сохранить в формате csv.
df.selectExpr("valueA","to_json(ValueB)"..etc).write.csv("path")