答案 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共享相同的架构。