Mam dataframe df
który zawiera jedną kolumnę typu tablicyzapłonowe 2.0.x zrzucić plik CSV z pomocą dataframe zawierającego jedną tablicę typu string
df.show()
wygląda
|ID|ArrayOfString|Age|Gender|
+--+-------------+---+------+
|1 | [A,B,D] |22 | F |
|2 | [A,Y] |42 | M |
|3 | [X] |60 | F |
+--+-------------+---+------+
próbuję zrzucić że df
w pliku cSV następujące:
val dumpCSV = df.write.csv(path="/home/me/saveDF")
To nie działa, ponieważ kolumny ArrayOfString
. Wystąpił błąd:
CSV data source does not support array string data type
Kod działa, jeśli usunę kolumnę ArrayOfString
. Ale muszę zachować ArrayOfString
!
Jaki byłby najlepszy sposób zrzucić dataframe csv tym kolumnowej ArrayOfString (ArrayOfString należy dumpingowych jako jednej kolumnie pliku CSV)
Witam, dziękuję za odpowiedź. Rozumiem, co robią te linie. Jednak jestem nieco zdezorientowany ze składni "" "[$ {vs.mkString (", ")}]" "" Czy możesz mi wyjaśnić nieco więcej o s i potrójnym "". "Dzięki . – S12000
http : //docs.scala-lang.org/overviews/core/string-interpolation.html '" "" 'ponieważ jest osadzone' '' –
Hum Rozumiem lepiej znaczenie "s" dzięki dokumentowi, który mi wysłałeś Jednak nadal nie rozumiem, dlaczego 3 cytaty Dlaczego nie mogę napisać s "[$ {vs.mkString (", ")}]" Przy okazji za pomocą jednego cytatu działa również po mojej stronie. Więc dlaczego 3 cytaty? – S12000