Scala:如何按行连接多个Spark数据帧?
已经讨论了如何使用Scala:如何按行连接多个Spark数据帧?,scala,apache-spark,dataframe,apache-spark-sql,Scala,Apache Spark,Dataframe,Apache Spark Sql,已经讨论了如何使用unionAll按行合并两个数据帧 假设我不知道序列的长度,有没有一种方法可以在数据帧序列上应用unionAll(或类似的函数),而不循环和定义var 谢谢 private def unionAll(dataFrames: Seq[DataFrame], sqlContext: SQLContext): DataFrame = dataFrames match { case Nil => sqlContext.emptyDataFrame case head ::
unionAll
按行合并两个数据帧
假设我不知道序列的长度,有没有一种方法可以在数据帧序列上应用unionAll
(或类似的函数),而不循环和定义var
谢谢
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合并
这确实假设如果列表不是空的,则所有数据帧共享相同的模式