分享方式:


疑難排解和修復作業失敗

假設您已收到通知(例如,透過電子郵件通知、監視解決方案,或在 Azure Databricks 作業 UI 中),工作在 Azure Databricks 作業的執行中失敗。 本文中的步驟提供指引,可協助您識別失敗的原因、修正所找到問題的建議,以及如何修復失敗的作業執行。

識別失敗的原因

若要在 Azure Databricks 作業 UI 中尋找失敗的工作:

  1. 按兩下作業執行圖示提要欄位中的 [作業執行]。

  2. 在 [ 名稱] 資料行中,按兩下作業名稱。 [執行] 索引標籤會顯示作用中的執行和已完成的執行,包括任何失敗的執行。 [執行] 索引標籤中的矩陣檢視會顯示作業的執行歷程記錄,包括每個作業工作的成功和失敗執行。 工作執行可能會失敗,因為失敗或因為相依工作失敗而略過。 使用矩陣檢視,您可以快速識別作業執行的工作失敗。

    作業執行的矩陣檢視

  3. 將滑鼠停留在失敗的工作上,以查看相關聯的元數據。 此元數據包含開始和結束日期、狀態、持續時間叢集詳細數據,以及在某些情況下的錯誤訊息。

  4. 若要協助識別失敗的原因,請按下失敗的工作。 [ 工作執行詳細數據 ] 頁面隨即出現,其中顯示工作的輸出、錯誤訊息和相關聯的元數據。

修正失敗的原因

您的工作可能因為數個原因而失敗,例如數據質量問題、設定錯誤或計算資源不足。 以下是修正工作失敗的一些常見原因的建議步驟:

  • 如果失敗與工作組態有關,請按兩下 [ 編輯工作]。 工作組態會在新的索引標籤開啟。視需要更新工作組態,然後按兩下 [ 儲存工作]。
  • 如果問題與叢集資源有關,例如實例不足,有幾個選項:
    • 如果您的作業設定為使用作業叢集,請考慮使用共用的全用途叢集。
    • 變更叢集組態。 按兩下 [ 編輯工作]。 在 [作業詳細數據] 面板中的 [計算] 底下,按兩下 [設定] 以設定叢集。 您可以變更背景工作角色數目、實例類型或其他叢集組態選項。 您也可以按兩下 [交換 ] 切換至另一個可用的叢集。 若要確保您充分利用可用的資源,請檢閱叢集設定最佳做法。
    • 如有必要,請要求系統管理員在部署工作區的雲端帳戶和區域中增加資源配額。
  • 如果失敗是因為超過並行執行上限所造成,請執行下列其中一項:
    • 等候其他執行完成。
    • 按兩下 [ 編輯工作]。 在 [作業詳細數據] 面板中,按兩下 [編輯並行執行],輸入 [並行執行上限] 的新值,然後按兩下 [確認]。

在某些情況下,失敗的原因可能是來自您的作業上游;例如,外部數據源無法使用。 在解決外部問題之後,您仍然可以利用下一節所涵蓋的修復執行功能。

重新執行失敗並略過的工作

識別失敗原因之後,您可以只執行失敗的工作子集和任何相依工作,以修復失敗或取消的多重工作作業。 因為成功的工作和任何相依於它們的工作都不會重新執行,因此此功能可減少從不成功的作業執行復原所需的時間和資源。

您可以在修復作業執行之前變更作業或工作設定。 使用目前的作業和工作設定重新執行失敗的工作。 例如,如果您變更筆記本或叢集設定的路徑,則會使用更新的筆記本或叢集設定來重新執行工作。

檢視 [工作執行詳細數據] 頁面上所有工作執行的歷程記錄。

注意

  • 如果一或多個工作共用作業叢集,修復執行會建立新的作業叢集。 例如,如果原始執行使用作業叢集 my_job_cluster,則第一次修復回合會使用新的作業叢集 my_job_cluster_v1,讓您輕鬆查看初始執行所使用的叢集和叢集設定,以及任何修復執行。 的設定 my_job_cluster_v1 與的目前設定 my_job_cluster相同。
  • 只有協調兩個或更多工作的作業才支持修復。
  • [執行] 索引標籤中顯示的 [持續時間] 值包含第一次執行開始的時間,直到最新的修復執行完成的時間。 例如,如果執行失敗了兩次,並在第三次執行時成功,則持續時間會包含這三個執行的時間。

若要修復失敗的作業執行:

  1. 在作業執行數據表的 [開始時間] 資料行中,按下失敗執行的連結,或在矩陣檢視中按下失敗的執行。 [ 作業執行詳細數據 ] 頁面隨即出現。
  2. 按兩下 [ 修復執行]。 [ 修復作業執行] 對話框隨即出現,其中列出所有失敗的工作,以及將重新執行的任何相依工作。
  3. 若要新增或編輯要修復之工作的參數,請在 [修復作業執行] 對話框中輸入參數。 您在 [ 修復作業執行] 對話框中輸入的參數會覆寫現有的值。 在後續的修復執行中,您可以清除 [修復作業執行] 對話框中的索引鍵和值,將參數傳回至其原始值
  4. 按兩下 [修復作業執行 ] 對話框中的 [修復執行 ]。
  5. 修復執行完成之後,矩陣檢視會更新為已修復執行的新數據行。 任何紅色失敗的工作現在都應該是綠色,表示整個作業的執行成功。

檢視和管理連續作業失敗

當連續作業連續失敗超過閾值時,Azure Databricks 作業會使用 指數輪詢 重試作業。 當作業處於指數輪詢狀態時,[作業詳細數據] 面板中的訊息會顯示資訊,包括:

  • 連續失敗的數目。
  • 要執行之作業的期間,不會將錯誤視為成功。
  • 如果目前沒有執行,則下次重試前的時間。

若要取消作用中的執行,請重設重試期間,然後啟動新的作業執行,按兩下 [ 重新啟動執行]。