scala—如何将列表中的每个元素添加到数据框中的单独列中

zyfwsgd6  于 2021-05-29  发布在  Spark
关注(0)|答案(2)|浏览(413)

我正在尝试将列表转换为Dataframe。将列表转换为数据框很简单,但问题是它会为数据框中的所有值创建一列。但我想将列表中的每个元素分配给Dataframe中的不同列
假设下面是我的清单

val ListofElements = List(2.0,5.0,3.0)

我想把这个列表转换成一个数据框,这样2.0被分配给“firstcolumn”,类似的5.0被分配给“secondcolumn”,3.0被分配给“thirdcolumn”,任何帮助都将不胜感激

o3imoua4

o3imoua41#

假设你的 SparkSession 示例名为 spark ,你可以先 import spark.implicits._ ,然后执行:

> val df = Seq((2.0,5.0,3.0)).toDF("firstcolumn","SecondColumn","ThirdColumn")
> df.show()

+-----------+------------+-----------+
|firstcolumn|SecondColumn|ThirdColumn|
+-----------+------------+-----------+
|        2.0|         5.0|        3.0|
+-----------+------------+-----------+

请注意,您的 List 现在已转换为 SeqTuple3 物体。。

ocebsuys

ocebsuys2#

尝试使用 .toDF ()方法 List[(row),(row)] ```
sc.parallelize(List(2.0,5.0,3.0) match{case List(a,b,c) => List((a,b,c))}).toDF("firstcolumn","SecondColumn","ThirdColumn").show()
//+-----------+------------+-----------+
//|firstcolumn|SecondColumn|ThirdColumn|
//+-----------+------------+-----------+
//| 2.0| 5.0| 3.0|
//+-----------+------------+-----------+

相关问题