如何快速写入一个csv文件?

时间:2019-09-30 22:23:10

标签: dataframe apache-spark

写入csv时,我试图对数据帧进行分区(1),但是它运行了2个小时以上。我尝试了 repartition(20),但是它仍然很慢。我认为数据量很大,而且我是新手,请问如何才能使其更快?

df.repartition(20).write.format("com.databricks.spark.csv").option("header", "true").save(filepath)

1 个答案:

答案 0 :(得分:0)

您是在本地计算机上还是在远程计算机上运行它? 是独立/纱线群集,您有多少台机器。

您可以在Spark UI中检查任务,查看有多少个分区? 每台计算机上至少应有3 * 4分区-maxcan最多可达10000

与其将分区(1)仅进行一个分区,不如将其合并,将减少洗牌,并快速完成工作。 重新分区会造成更多洗牌。