【问题标题】:Scala: How to join more than one Spark Dataframe by rows?Scala:如何按行加入多个 Spark Dataframe?
【发布时间】:2019-01-08 00:49:51
【问题描述】:

here 已经讨论过如何使用unionAll 按行合并两个数据帧。

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

谢谢!

【问题讨论】:

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


    【解决方案1】:
    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 联合。

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

    【讨论】:

      猜你喜欢
      • 2016-08-16
      • 2020-09-22
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      • 2018-07-11
      • 1970-01-01
      • 2019-03-25
      • 1970-01-01
      相关资源
      最近更新 更多