使用将新数据及其数据添加到现有DataFrame

时间:2016-10-03 09:09:27

标签: scala apache-spark spark-dataframe

在scala中,我有一个List [String],我想将其作为新列添加到现有的DataFrame中。

原创DF:

Name  | Date
======|===========
Rohan | 2007-12-21
...   | ...
...   | ...

假设想要添加一个新的部门列

预期DF:

Name | Date       | Department
=====|============|============
Rohan| 2007-12-21 | Comp
...  | ...        | ...
...  | ...        | ...

我如何在Scala中执行此操作?

2 个答案:

答案 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) }

仍然需要一些确切的解释。