The following code works for small n, but not for large n (>20):

val dfUnion = Seq(df1,df2,df3,...dfn).reduce(_ union _)

By not working, I mean that Spark takes a lot of time to create the execution plan.

Is there a more optimal way to perform a union of multiple data frames?

Cesar Flores