【发布时间】:2019-08-05 05:44:51
【问题描述】:
我想将 270 万行的数据帧拆分为 100000 行的小数据帧,所以最终得到 27 个数据帧,我也想将它们存储为 csv 文件。
我已经看过这个 partitionBy 和 groupBy 了,但是我不需要担心任何条件,除了它们必须按日期排序。我正在尝试编写自己的代码来完成这项工作,但如果您知道我可以使用的一些 Scala (Spark) 函数,那就太好了!
谢谢大家的建议!
【问题讨论】:
-
有几个答案here 可以帮助您入门。
-
谢谢,在我提出问题之前,我是这样开始的,但是这些解决方案对我并没有真正的帮助:)
-
@Eva,如果您的目标是破坏数据以保存较小的 csv 文件,您可以执行 df.repartition(27).write.csv("/path")。您将在“/path”文件夹下拥有 part000、part002、..part026 文件
-
我也试试这个,看起来很简单的方法,如果它负责排序,那也应该足够了!只有当数据框增长时才会出现问题,然后每次都必须更改重新分区......但是为了快速获得结果,它看起来不错!谢谢:)
-
重新分区可能代价高昂(它会移动所有数据)并且不会保留顺序。
标签: scala apache-spark split apache-spark-sql databricks