Scala:如何按行连接多个Spark数据帧



这里已经讨论了如何使用unionAll按行合并两个数据帧。

假设我不知道序列的长度,有没有一种方法可以在不循环和定义var的情况下将unionAll(或类似函数)应用于数据帧序列?

谢谢!

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(没有正确的模式)与非空DF联合。

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

相关内容

  • 没有找到相关文章

最新更新