【发布时间】:2020-10-21 20:08:26
【问题描述】:
上下文
我正在尝试使用 PySpark 将数据帧写入 .csv。在其他帖子中,我看到用户对此提出质疑,但我需要一个 .csv 来满足业务需求。
我的尝试
几乎所有东西。我试过.repartition(),我试过把驱动内存增加到1T。我还尝试先缓存我的数据,然后写入 csv(这就是为什么下面的屏幕截图表明我正在尝试缓存而不是写入 csv)似乎没有任何效果。
会发生什么
因此,UI 不会显示任何任务失败。作业——无论是写入 csv 还是先缓存,都接近完成,只是挂起。
截图
然后..如果我深入研究工作..
如果我进一步深入了解
最后,这是我的设置:
【问题讨论】:
-
您是否执行了太多需要您一次又一次地缓存 df 的操作?
-
@ShubhamJain 不,我缓存数据帧后只有一个 .count() 语句
-
您能分享一下您正在使用的转换以及保存数据框的命令以及数据大小的一些信息
-
@ShubhamJain 该 DAG 会有所帮助还是您的意思是实际代码?我项目中的最后一行代码是 df.cache().count() 然后是 df.spark.write.csv('df.csv')
标签: performance apache-spark pyspark apache-spark-sql