【发布时间】:2016-04-19 18:43:08
【问题描述】:
我想重新分区/合并我的数据,以便将其保存到每个分区的一个 Parquet 文件中。我还想使用 Spark SQL partitionBy API。所以我可以这样做:
df.coalesce(1)
.write
.partitionBy("entity", "year", "month", "day", "status")
.mode(SaveMode.Append)
.parquet(s"$location")
我已经对此进行了测试,但它似乎表现不佳。这是因为数据集中只有一个分区可以处理,文件的所有分区、压缩和保存都必须由一个 CPU 内核完成。
我可以在调用 coalesce.
但是使用标准 Spark SQL API 是否有更好的方法来做到这一点?
【问题讨论】:
-
您找到解决方案了吗?
标签: apache-spark apache-spark-sql