2016-04-06 2 views
0

Было обсуждено here о том, как объединить два кадра данных по строкам, используя unionAll.Scala: Как присоединиться к нескольким Spark Dataframe по строкам?

Существует ли способ применения функции unionAll (или аналогичной функции) для последовательности кадров данных без цикла и определения var, если предположить, что я не знаю длины последовательности?

Спасибо!

ответ

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 (который не имеет правильной схемы) с непустым.

Это делает Предположим, что если список не пуст, все DataFrames используют одну и ту же схему.

Смежные вопросы