Scala:如何按行加入多个Spark Dataframe?

时间:2016-04-06 09:25:10

标签: scala apache-spark dataframe apache-spark-sql

关于如何使用unionAll按行合并两个数据框,已经讨论了here

有没有办法在数据帧序列上应用unionAll(或类似函数)而不循环和定义var,假设我不知道序列的长度?

谢谢!

1 个答案:

答案 0 :(得分:0)

private def unionAll(dataFrames: Seq[DataFrame], sqlContext: SQLContext): DataFrame = dataFrames match {
  case Nil => sqlContext.emptyDataFrame
  case head :: Nil => head
  case head :: tail => head.unionAll(unionAll(tail, sqlContext))
}

第二种情况是为了防止尝试将空DF(没有正确的架构)与非空架点联合起来。

假设如果列表不为空,则所有DataFrame共享相同的架构。