在scala中,我有一个List [String],我想将其作为新列添加到现有的DataFrame中。
原创DF:
Name | Date
======|===========
Rohan | 2007-12-21
... | ...
... | ...
假设想要添加一个新的部门列
预期DF:
Name | Date | Department
=====|============|============
Rohan| 2007-12-21 | Comp
... | ... | ...
... | ... | ...
我如何在Scala中执行此操作?
答案 0 :(得分:1)
您可以通过一种方式来创建名称和列表值的数据框,并将名称列连接到数据框
答案 1 :(得分:1)
这解决了我的问题
val newrows = dataset.rdd.zipWithIndex.map(_.swap)
.join(spark.sparkContext.parallelize(results).zipWithIndex.map(_.swap))
.values
.map { case (row: Row, x: String) => Row.fromSeq(row.toSeq :+ x) }
仍然需要一些确切的解释。