我對spill to disk
和shuffle write
感到困惑。使用默認的Sort shuffle管理器,我們使用appendOnlyMap
來聚合和合並分區記錄,對嗎?然後,當執行內存填滿,我們開始整理地圖,它溢出到磁盤,然後清理映射下一個溢出(如果發生),我的問題是:泄漏到磁盤並洗牌寫火花
是什麼盤溢出的區別並隨機寫入?它們主要包括在本地文件系統上創建文件並記錄。
承認是不同的,所以溢出記錄被排序,因爲它們是通過地圖傳遞的,而不是隨機寫入記錄因爲它們沒有從地圖傳遞。
- 我有這樣的想法,即溢出文件的總大小應該等於Shuffle寫入的大小,也許我錯過了一些東西,請幫助理解該階段。
謝謝。
喬治
但是,如果溢出不會發生,這意味着聚合記錄不會從appendOnlyMap傳遞?這樣他們將被排序? – Giorgio
如果沒有發生溢出到磁盤,這意味着執行程序可以將整個數據保存在RAM中(請參閱我的答案中的邊界案例) – Yaron
因此appendOnlyMap只用於溢出?溢出的文件包含稍後要洗牌的記錄,或者僅僅是用於不能保留在RAM中的細化的對象?我仍然認爲這是相關的,因爲我認爲每條記錄都必須從appendOnlyMap傳遞出來,請澄清一下,謝謝 – Giorgio