如何将Array [String]转换为spark Dataframe以保存CSV文件格式? [重复]

问题描述 投票:0回答:1

这个问题在这里已有答案:

我用来解析CSV的代码

val ListOfNames = List("Ramesh","Suresh","Ganesh") //Dynamical will add list of names
val Seperator = ListOfNames.map(x => x.split(",")  //mkString(",")

sc.parallelize(Array(seperator)).toDF().csv("path")

获得输出:

"Ramesh,Suresh,Ganesh" // Hence entire list into a single column in CSV

预期产量:

Ramesh, Suresh, Ganesh // each name into a single column in CSV

输出应该在一行中,每个字符串应该在每个列中以逗号分隔。

如果我尝试更改任何内容,则表示CSV数据源不支持字符串数据类型数组。

怎么解决这个?

scala apache-spark dataframe
1个回答
0
投票

如果您要将大小为n的列表转换为一个火花数据帧,该数据帧只包含一列的n行,那么解决方案将如下所示:

import sparkSession.sqlContext.implicits._

val listOfNames = List("Ramesh","Suresh","Ganesh")

val df = listOfNames.toDF("names")
df.show(false)

输出:

+------+
|names |
+------+
|Ramesh|
|Suresh|
|Ganesh|
+------+
© www.soinside.com 2019 - 2024. All rights reserved.