即使内存充足,spark也会将shuffle输出定向到磁盘

7hiiyaii  于 2021-05-27  发布在  Spark
关注(0)|答案(0)|浏览(329)

我们有一个没有本地磁盘的spark集群,spilling被设置为进入nfs。我们意识到这不是spark的设计目的,而是我们当前的现实。
在这个世界上,泄漏减缓了Spark工作很大,我们希望尽量减少他们。对于我们拥有的大多数作业,spark执行器有足够的ram来保存所有中间计算结果,但是我们看到spark总是将无序结果写入磁盘,即在out情况下写入nfs。我们已经使用了所有的spark配置选项,这些选项看起来都有点模糊,试图将spark write shuffle输出到ram,但没有任何效果。
我在一些地方看到过,比如spark是否将中间无序输出写入磁盘,spark更喜欢将无序输出写入磁盘。我的问题是:
有没有办法让spark在有ram可用时使用ram进行随机输出?
如果没有,有什么方法可以让它使用更少的大写操作?我们看到它在执行大量1-5kb的小写操作,并在每次写操作之后等待nfs延迟。以下配置选项没有帮助:

spark.buffer.size
spark.shuffle.spill.batchSize
spark.shuffle.spill.diskWriteBufferSize
spark.shuffle.file.buffer
spark.shuffle.unsafe.file.output.buffer
spark.shuffle.sort.initialBufferSize
spark.io.compression.*.blockSize

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题