共用方式為


使用擴充的 Apache Spark 歷程記錄伺服器來偵錯和診斷 Apache Spark 應用程式

本文提供如何使用擴充 Apache Spark 歷程記錄伺服器來偵錯及診斷已完成和執行 Apache Spark 應用程式的指引。

存取 Apache Spark 歷程記錄伺服器

Apache Spark 記錄伺服器是已完成和執行 Spark 應用程式的 Web 使用者介面。 您可以從進度指示器筆記本或 Apache Spark 應用程式詳細數據頁面開啟 Apache Spark Web 使用者介面 (UI)。

從進度指示器筆記本開啟 Spark Web UI

觸發 Apache Spark 作業時,開啟 Spark Web UI 的按鈕位於 進度指標中的 [更多動作 ] 選項內。 選取 [Spark Web UI ],並等候幾秒鐘,然後[Spark UI] 頁面隨即出現。

顯示從進度指示器筆記本開啟 Spark Web UI 的螢幕快照。

從 Apache Spark 應用程式詳細數據頁面開啟 Spark Web UI

Spark Web UI 也可以透過 Apache Spark 應用程式詳細數據頁面開啟。 選取 頁面左側的 [監視中樞 ],然後選取 Apache Spark 應用程式。 應用程式的詳細數據頁面隨即出現。

顯示從 Apache Spark 應用程式詳細數據頁面開啟 Spark Web UI 的螢幕快照。

對於狀態為執行中的 Apache Spark 應用程式,按鈕會顯示 Spark UI。 選取 [Spark UI ],並顯示 [Spark UI] 頁面。

顯示按鈕以執行中狀態顯示 Spark UI 的螢幕快照。

對於狀態為結束的 Apache Spark 應用程式,結束狀態可以是 [已停止]、[失敗]、[取消] 或 [已完成]。 按鈕會顯示 Spark 歷程記錄伺服器。 選取 [Spark 歷程記錄伺服器 ],並顯示 [Spark UI] 頁面。

顯示按鈕以結束狀態顯示 Spark UI 的螢幕快照。

Apache Spark 記錄伺服器中的 [圖形] 索引標籤

選取您要檢視之作業的作業標識碼。 然後,選取 工具功能表上的 [圖形 ],以取得作業圖形檢視。

概觀

您可以在產生的作業圖表中查看作業概觀。 根據預設,圖表會顯示所有作業。 您可以依 [作業識別碼] 篩選此檢視。

顯示 Spark 應用程式和作業圖形作業識別碼的螢幕快照。

顯示器

預設會選取 [進度] 顯示。 您可以選擇 [顯示] 下拉式清單中的 [讀取] 或 [寫入]來檢查數據流。

顯示 Spark 應用程式和作業圖形顯示的螢幕快照。

圖形節點會顯示熱度圖圖例中顯示的色彩。

顯示 Spark 應用程式和作業圖形熱度圖的螢幕快照。

播放

若要播放作業,請選取 [播放]。 您可以隨時選取 [ 停止 ] 來停止。 工作色彩會在播放時顯示不同的狀態:

Color 意義
成功:作業已順利完成。
Orange 重試:失敗但不會影響作業最終結果的工作實例。 這些工作具有稍後可能會成功的重複或重試執行個體。
藍色 執行中:工作正在執行。
白色 等候或略過:工作正在等候執行,或已略過階段。
失敗:工作失敗。

下圖顯示綠色、橙色和藍色狀態色彩。

此螢幕快照顯示 Spark 應用程式和作業圖形色彩範例,正在執行。

下圖顯示綠色和白色狀態色彩。

顯示 Spark 應用程式和作業圖形色彩範例的螢幕快照,請略過。

下圖顯示紅色和綠色狀態色彩。

顯示 Spark 應用程式和作業圖形色彩範例的螢幕快照,失敗。

注意

Apache Spark 歷程記錄伺服器允許播放每個已完成的作業(但不允許播放不完整的工作)。

Zoom

使用滑鼠捲動來放大和縮小作業圖形,或選取 [ 縮放] 以符合 螢幕大小。

顯示 Spark 應用程式和作業圖形縮放以符合的螢幕快照。

工具提示

將滑鼠停留在圖形節點上,以查看有失敗的工作時的工具提示,然後選取階段以開啟其階段頁面。

顯示 Spark 應用程式和作業圖形工具提示的螢幕快照。

在 [作業圖表] 索引標籤上,如果階段有符合下列條件的工作,則會顯示工具提示和小型圖示:

Condition 描述
資料扭曲 此階段內所有工作的數據讀取大小 > 平均數據讀取大小 * 2,數據讀取大小 > 為 10 MB。
時間扭曲 此階段內所有工作的運行時間平均運行時間 > * 2 和運行時間 > 2 分鐘。

顯示 Spark 應用程式和作業圖形扭曲圖示的螢幕快照。

圖形節點描述

作業圖表節點會顯示每個階段的下列資訊:

  • 識別碼
  • 名稱或描述
  • 總計工作數
  • 讀取的資料:輸入大小和隨機讀取大小的總和
  • 數據寫入:輸出大小和隨機寫入大小的總和
  • 執行時間:第一次嘗試的開始時間與最後一次嘗試的完成時間之間的時間
  • 數據列計數:輸入記錄、輸出記錄、隨機讀取記錄和隨機寫入記錄的總和
  • 進度

注意

根據預設,作業圖形節點會顯示每個階段最後一次嘗試的信息(階段運行時間除外)。 不過,在播放期間,圖形節點會顯示每次嘗試的資訊。

讀取和寫入的數據大小為 1MB = 1000 KB = 1000 * 1000 個字節。

提供意見反應

選取 [ 提供意見反應] 以傳送問題的意見反應

顯示 Spark 應用程式和作業圖形意見反應的螢幕快照。

探索 Apache Spark 歷程記錄伺服器中的 [診斷] 索引標籤

若要存取 [診斷] 索引卷標,請選取作業標識符。 然後選取工具功能表上的 [ 診斷 ],以取得作業診斷檢視。 [診斷] 索引標籤包括 [資料扭曲]、[時間扭曲] 和 [執行程式使用狀況分析]。

透過個別選取索引標籤,檢查 [資料扭曲]、[時間扭曲] 和 [執行程式使用狀況分析]。

顯示sparkUI診斷數據扭曲索引標籤的螢幕快照。

資料扭曲

當您選取 [ 資料扭曲 ] 索引標籤時,會根據指定的參數顯示對應的扭曲工作。

  • 指定參數 -第一個區段會顯示用來偵測資料扭曲的參數。 默認規則為:工作數據讀取大於平均工作數據讀取的三倍,而工作數據讀取超過 10 MB。 如果您想要為扭曲的工作定義自己的規則,您可以選擇參數。 扭曲階段扭曲字元區段會據以重新整理。

  • 扭曲階段 - 第二個區段會顯示階段,這些階段已扭曲的工作符合先前指定的準則。 如果某個階段中有多個扭曲的工作,扭曲的階段數據表只會顯示最扭曲的工作(例如,數據扭曲的最大數據)。

    顯示 Spark UI 診斷數據扭曲索引標籤的螢幕快照。

  • 扭曲圖表 - 選取扭曲階段數據表中的數據列時,扭曲圖表會根據數據讀取和運行時間顯示更多工作分佈詳細數據。 扭曲的工作會以紅色標示,而一般工作則會以藍色標示。 圖表最多會顯示 100 個範例工作,而工作詳細數據會顯示在右下方面板。

    顯示階段 10 的 Spark UI 扭曲圖表螢幕快照。

時間扭曲

[時間扭曲] 索引標籤會根據工作執行時間顯示扭曲的工作。

  • 指定參數 - 第一個區段會顯示用來偵測時間扭曲的參數。 偵測時間扭曲的預設準則是:工作執行時間大於平均執行時間的三倍,而工作執行時間大於 30 秒。 您可以根據您的需求變更參數。 扭曲階段扭曲圖表會顯示對應的階段和工作資訊,就像先前所述的 [數據扭曲] 索引卷標一樣

  • 選取 [時間扭曲],然後根據 [指定參數] 區段中所設定的參數,在 [扭曲階段] 區段中顯示篩選的結果。 在 [扭曲階段 ] 區段中選取一個項目,然後在第 3 節中草擬對應的圖表,工作詳細數據會顯示在右下方面板中。

    顯示 Spark UI 診斷時間扭曲區段的螢幕快照。

執行程式使用狀況分析

這項功能現已在 Fabric 中已被取代。 如果您仍想要將此作為因應措施,請在 URL 的路徑 “/diagnostic” 後面明確新增 “/executorusage” 來存取頁面,如下所示:

顯示修改URL的螢幕快照。