我正在使用Apache Spark 2.0数据框/数据集API 我想从值列表向我的数据框添加一个新列。我的列表与给定的数据帧具有相同数量的值。Apache Spark如何将新列从列表/数组添加到Spark数据框
val list = List(4,5,10,7,2)
val df = List("a","b","c","d","e").toDF("row1")
我想这样做:
val appendedDF = df.withColumn("row2",somefunc(list))
df.show()
// +----+------+
// |row1 |row2 |
// +----+------+
// |a |4 |
// |b |5 |
// |c |10 |
// |d |7 |
// |e |2 |
// +----+------+
对于任何想法,我将不胜感激,我在现实中数据帧中包含多个列。作为DataFrame
表明,这是一个小的数据帧的事实,(它存在于驾驶员记忆)输入list
具有相同的大小:
如果列表和DF大小不同,会发生什么?仅包含较大集合中的前N个项目(其中N =较短集合的大小)? –
在我的情况下,我知道它将永远是相同的长度 –
您也可以将列表转换为数据帧。然后将row_number添加到它们并按row_number进行连接。 –