【发布时间】:2020-10-29 08:29:58
【问题描述】:
我正在尝试将 1000 个 DataFrame 合并到单个 DF 中,该 DF 以 Seq[org.apache.spark.sql.DataFrame] 作为列表存在。所以我使用了类似下面的东西,x 是 Dataframes 的列表:
val y = x.reduce(_ union _)
但它需要永恒的时间才能完成。
还有其他有效的方法来完成上述任务吗?也许通过编码甚至通过 Spark 配置设置对其进行优化?
非常感谢任何帮助。
【问题讨论】:
-
尝试分阶段进行(所以说 sqrt(1000) 数据帧并将它们写出来,然后读入)。
-
尝试为每 40 到 50 个数据帧做一些检查点。再次阅读它们并尝试再次联合它们。关键是检查血统图,如果它很大,试着打破它
-
最后转换为RDD并返回DF?
标签: scala dataframe apache-spark