如何以随机顺序将数据帧写入hdfs csv?

时间:2018-07-20 05:12:30

标签: python apache-spark pyspark apache-spark-sql

我想将数据帧写入hdfs。但是,尽管只有1700万个数据行,但随机排序非常缓慢。

-A

有没有快速有效的方法来实现这一目标?

1 个答案:

答案 0 :(得分:2)

使用orderBy将对数据框所有分区中的行进行排序。由于您仅对混排行感兴趣,因此可以考虑使用sortWithinPartitions。此方法不需要改组数据,因此速度更快:

df.sortWithinPartitions(rand())

当然,这取决于数据帧,这不会对数据给出完全随机的顺序。这取决于行在分区之间的分布方式。