在 Spark 中診斷長時間階段
從識別作業最長階段開始。 捲動至作業頁面底部的階段清單,並依持續時間排序:
第一階段 I/O 詳細數據
若要查看此階段執行作業的相關高階數據,請參閱 輸入、輸出、隨機讀取,以及 隨機寫入 數據行:
這些欄位的意義如下:
- 輸入: 這個階段從記憶體讀取多少數據。 這可能是從 Delta、Parquet、CSV 等讀取。
- 輸出: 這個階段寫入記憶體的數據量。 可能會將資料寫入 Delta、Parquet、CSV 等格式。
- 隨機讀取: 這個階段讀取多少隨機數據。
- 重排序寫入: 這個階段寫入多少重排數據。
如果您不熟悉洗牌是什麼,現在是 學習 意思的好時機。
請記下這些數字,因為您稍後可能需要這些數位。
工作數目
較長階段中的工作數目可以指出問題的方向。 您可以在這裡檢視來判斷工作數目:
如果您看到一項任務,那可能是問題的跡象。 如需詳細資訊,請參閱 One Spark 工作。
檢視更多舞台詳細資訊
如果階段有多個工作,您應該進一步調查。 按兩下階段描述中的連結,以取得最長階段的詳細資訊:
現在您已在階段頁面,請參閱 扭曲和溢出。