扭曲和溢出
洩漏
在長時間運行階段尋找的第一件事是是否有 溢出。
在階段頁面頂端,您會看到詳細數據,其中可能包含有關洩漏的統計數據:
溢出是 Spark 在記憶體不足時所發生的情況。 它開始將數據從記憶體移至磁碟,這可能相當昂貴。 在數據洗牌期間,最常見的狀況。
如果您沒有看到任何漏油統計數據,這意味著階段沒有任何漏油。 如果階段有一些洩漏,請參閱 本指南 ,瞭解如何處理隨機造成的漏油事件。
斜
我們要研究的下一件事是是否有 扭曲。 扭曲是當一個或只是一些工作花費的時間比其餘任務更長的時候。 這會導致叢集使用率不佳和作業較長。
向下捲動至 [摘要計量]。 我們尋找的主要內容是 最大 持續時間遠高於第 75 個百分位數持續時間。 下列螢幕快照顯示狀況良好的階段,其中第 75 個百分位數和 最大值 相同:
如果最大持續時間比第 75 個百分位數多 50%,您可能會遭受扭曲。
如果您看到扭曲,請在這裡瞭解扭曲補救步驟。
無扭曲或溢出
如果您沒有看到扭曲或溢出,請返回作業頁面以取得所發生情況的概觀。 向上捲動至頁面頂端,然後按兩下 [相關聯的作業標識碼]:
如果階段沒有溢出或扭曲,請參閱 Spark 階段高 I/O 以瞭解後續步驟。