Tôi có một dataframe df
có chứa một cột kiểu mảng2.0.x Spark đổ một tập tin csv từ một dataframe chứa một mảng kiểu string
df.show()
trông giống như
|ID|ArrayOfString|Age|Gender|
+--+-------------+---+------+
|1 | [A,B,D] |22 | F |
|2 | [A,Y] |42 | M |
|3 | [X] |60 | F |
+--+-------------+---+------+
tôi cố gắng để đổ rằng df
trong một tập tin csv như sau:
val dumpCSV = df.write.csv(path="/home/me/saveDF")
Nó không phải là làm việc vì của cột ArrayOfString
. Tôi gặp lỗi:
CSV data source does not support array string data type
Mã hoạt động nếu tôi xóa cột ArrayOfString
. Nhưng tôi cần giữ ArrayOfString
!
Điều gì sẽ là cách tốt nhất để đổ dataframe csv bao gồm cột ArrayOfString (ArrayOfString nên được đổ như một cột vào file CSV)
Xin cảm ơn rất nhiều vì câu trả lời. Tôi hiểu những gì những dòng này. Tuy nhiên tôi là một chút nhầm lẫn của cú pháp s "" "[$ {vs.mkString (", ")}]" "" Bạn có thể giải thích cho tôi thêm một chút về s và ba "" "? Cảm ơn. – S12000
http : //docs.scala-lang.org/overviews/core/string-interpolation.html '" "" 'bởi vì có nhúng' "' –
Hum Tôi hiểu rõ hơn ý nghĩa của "s" nhờ tài liệu bạn gửi cho tôi Tuy nhiên tôi vẫn không hiểu tại sao 3 dấu ngoặc kép. Tại sao tôi không thể viết s "[$ {vs.mkString (", ")}]" Bằng cách sử dụng 1 trích dẫn cũng hoạt động bên cạnh tôi. Vậy tại sao 3 dấu ngoặc kép? – S12000