我对spill to disk
和shuffle write
感到困惑。使用默认的Sort shuffle管理器,我们使用appendOnlyMap
来聚合和合并分区记录,对吗?然后,当执行内存填满,我们开始整理地图,它溢出到磁盘,然后清理映射下一个溢出(如果发生),我的问题是:泄漏到磁盘并洗牌写火花
是什么盘溢出的区别并随机写入?它们主要包括在本地文件系统上创建文件并记录。
承认是不同的,所以溢出记录被排序,因为它们是通过地图传递的,而不是随机写入记录因为它们没有从地图传递。
- 我有这样的想法,即溢出文件的总大小应该等于Shuffle写入的大小,也许我错过了一些东西,请帮助理解该阶段。
谢谢。
乔治
但是,如果溢出不会发生,这意味着聚合记录不会从appendOnlyMap传递?这样他们将被排序? – Giorgio
如果没有发生溢出到磁盘,这意味着执行程序可以将整个数据保存在RAM中(请参阅我的答案中的边界案例) – Yaron
因此appendOnlyMap只用于溢出?溢出的文件包含稍后要洗牌的记录,或者仅仅是用于不能保留在RAM中的细化的对象?我仍然认为这是相关的,因为我认为每条记录都必须从appendOnlyMap传递出来,请澄清一下,谢谢 – Giorgio