分享方式:


Databricks 作業的監視和可觀察性

本文說明 Azure Databricks UI 中可用的功能,以檢視您有權存取的作業、檢視作業的執行歷程記錄,以及檢視作業執行的詳細資料。 若要設定作業的通知,請參閱新增工作事件的電子郵件和系統通知。

若要瞭解如何使用 Databricks CLI 來檢視作業和執行作業,請執行 CLI 命令 databricks jobs list -hdatabricks jobs get -hdatabricks jobs run-now -h。 若要了解如何使用工作 API,請參閱工作 API

如果您有 system.lakeflow 結構描述的存取權,您也可以從您的帳戶檢視和查詢作業執行和工作的記錄。 請參閱工作系統資料表參考

檢視作業

若要檢視您可以存取的工作清單,請按下側邊欄中的 [工作流程]工作流程圖示。 工作流程 UI 中的 [作業] 索引標籤會列出所有可用作業的相關資訊,例如作業的建立者、作業的觸發程序、如果有的話,以及上次執行的結果。

若要變更作業清單中顯示的資料行,請按下 設定圖示 並選取或取消選取資料行。

您可以在 [作業] 清單中篩選作業:

  • 使用關鍵字。 如果您已啟用此工作區的作業限制功能,則僅支援依關鍵字搜尋名稱、作業 ID 和作業標籤欄位。
  • 只選取您擁有的作業。
  • 選取您有權存取的所有作業。
  • 使用標籤。 若要只搜尋以索引鍵建立的標籤,請在搜尋方塊中輸入索引鍵。 若要搜尋以索引鍵和值建立的標籤,您可以依索引鍵、值或索引鍵和值來搜尋。 例如,針對具有索引鍵 department 和值 finance 的標籤,您可以搜尋 departmentfinance 以尋找相符的工作。 若要依索引鍵和值搜尋,請輸入以冒號分隔的索引鍵和值;例如 department:finance

您也可以按下任何資料行標頭,依該資料行排序作業清單(遞減或遞增)。 啟用增加的作業限制功能時,您只能依 NameJob IDCreated by排序。 根據預設排序是以 Name 遞增排序。

按下 Kebab 功能表 即可存取作業的動作,例如刪除作業。

檢視作業的執行

您可以檢視目前執行中且最近完成的所有作業執行清單,包括由 Apache Airflow 或 Azure Data Factory 等外部協調流程工具啟動的執行。 若要檢視最近的作業執行清單:

  1. 按一下側邊欄中的 工作流程圖示 [工作流程]
  2. 在 [名稱] 資料行,按下工作名稱。 [執行] 索引標籤隨即出現,其中包含使用中和已完成執行的矩陣和清單檢視。

矩陣檢視會顯示作業的執行歷程記錄,包括每個作業工作。

矩陣的 [執行總持續時間] 資料列會顯示執行的總持續時間和執行狀態。 若要檢視執行的詳細資料,包括開始時間、持續時間和狀態,請將滑鼠停留在 [執行總持續時間] 資料列中的列上。

[工作] 資料列中的每一個儲存格都代表工作和工作的對應狀態。 若要檢視每個工作的詳細資料,包括開始時間、持續時間、叢集和狀態,請將滑鼠停留在該工作的資料格上。

作業執行和工作執行列會以色彩編碼來指出執行的狀態。 成功的執行是綠色的,不成功的執行是紅色的,而略過的執行是粉紅色的。 個別作業執行和工作執行列的高度,以可視化方式表示執行持續時間。

如果您已設定 預期的完成時間,當執行持續時間超過設定的時間時,矩陣檢視會顯示警告。

根據預設,執行清單檢視會顯示:

  • 執行的開始時間。
  • 執行識別碼。
  • 執行是由作業排程或 API 要求觸發,還是手動啟動。
  • 目前執行中作業所經過的時間,或已完成執行的總執行時間。 如果持續時間超過設定的預期完成時間,就會顯示警告。
  • Spark 記錄的連結。
  • 執行的狀態,可以是 QueuedPendingRunningSkippedSucceededFailedTerminatingTerminatedInternal ErrorTimed OutCanceledCancelingWaiting for Retry
  • 按下 Kebab 功能表 即可存取執行的內容特定動作,例如停止作用中執行或刪除已完成的執行。

若要變更執行清單檢視中顯示的資料行,請按下 設定圖示 並選取或取消選取資料行。

若要檢視作業執行的詳細資料,請按下執行清單檢視中 [開始時間] 資料行中執行的連結。 若要檢視此作業最近成功執行的詳細資料,請按下 [移至最新的成功執行]

Azure Databricks 會維護作業執行最多 60 天的歷程記錄。 如果您需要保留作業執行,Databricks 建議在結果到期之前匯出結果。 如需詳細資訊,請參閱匯出作業執行結果

檢視作業詳細資料

作業執行詳細資料頁面包含作業輸出和記錄連結,包括作業執行中每項工作成功或失敗的相關資訊。 您可以從作業的 [執行] 索引標籤取作業執行詳細資料。 若要從 [執行] 索引標籤檢視作業執行詳細資料,請按下執行清單檢視中 [開始時間]] 資料行中執行的連結。 若要返回作業的 [執行] 索引標籤,請按下 [作業 ID] 值。

如果作業包含多個工作,請按下工作以檢視工作執行詳細資料,包括:

  • 執行工作的叢集
    • 工作的 Spark UI
    • 工作的記錄
    • 工作的計量

按下 [作業 ID] 值,返回作業的 [執行] Tab。

Azure Databricks 如何判斷作業執行狀態?

Azure Databricks 會根據作業分葉工作的結果,判斷作業執行是否成功。 分葉工作是沒有下游相依性的工作。 作業執行可以有三個結果之一:

  • 成功:所有工作都成功。
  • 有失敗的成功:某些工作失敗,但所有分葉工作都成功。
  • 失敗:一或多個分葉工作失敗。

檢視執行歷程記錄

若要檢視工作的執行歷程記錄,包括成功和失敗的執行:

  1. 按下 [作業執行詳細資料] 頁面上的工作。 會隨即出現 [工作執行詳細資料] 頁面。
  2. 在 [執行歷程記錄] 下拉式功能表中,選取要執行的工作類型。

檢視工作 For each 的工作執行歷程記錄

存取 For each 工作的執行歷程記錄與標準 Azure Databricks 作業工作相同。 您可以在 [作業執行詳細資料] 頁面上按下 For each 工作節點,或矩陣檢視中的對應資料格。 不過,不同於標準工作,For each 工作的執行詳細資料會顯示為巢狀工作反覆項目的資料表。

若要只檢視失敗的反覆項目,請按下 [僅失敗的反覆項目]

若要檢視反覆項目的輸出,請按下反覆項目的 [開始時間] 或 [結束時間] 值。

檢視最近的作業執行

您可以檢視在工作區中目前執行中且最近完成的所有作業執行清單,包括由 Apache Airflow 或 Azure Data Factory 等外部協調流程工具啟動的執行。 若要檢視最近的作業執行清單:

  1. 按一下側邊欄中的 工作流程圖示 [工作流程]
  2. 按下 [作業執行] 索引標籤以顯示 [作業執行] 清單。

[完成的執行計數] 圖形會顯示過去 48 小時內完成的作業執行數目。 根據預設,圖表會顯示失敗、略過和成功的作業執行。 您也可以篩選圖表以顯示特定執行狀態,或將圖形限制為特定時間範圍。 [作業執行] 索引標籤也包含過去 67 天內的作業執行資料表。 根據預設,資料表包含失敗、略過和成功作業執行的詳細資料。

注意

[完成的執行計數] 圖形只會在您按下 [由我擁有] 時顯示。

您可以依執行狀態篩選 [完成的執行計數]

  • 若要更新圖表以顯示目前正在執行或等候執行的作業,請按下 [作用中執行]
  • 若要更新圖形,只顯示已完成的執行,包括失敗、成功和略過的執行,請按下 [已完成執行]
  • 若要更新圖表,只顯示過去 48 小時內成功完成的執行,請按下 [成功執行]
  • 若要更新圖表,只顯示略過的執行,請按下 [略過的執行]。 因為您已超過工作區中並行執行的數目上限,或作業超過作業組態所指定的並行執行數目上限,因此會略過執行。
  • 若要更新圖形,只顯示以錯誤狀態完成的執行,請按下 [失敗的執行]

當您按下任何篩選按鈕時,執行資料表中的執行清單也會更新,只顯示符合所選狀態的作業執行。

若要限制 [完成執行計數] 圖形中顯示的時間範圍,請按下圖表中的游標並拖曳以選取時間範圍。 圖形和執行資料表會更新,只顯示所選時間範圍的執行。

根據預設,執行資料表中的執行清單會顯示:

  • 執行的開始時間。
  • 與執行關聯的活動名稱。
  • 工作執行時使用的使用者名稱。
  • 執行是由作業排程或 API 要求觸發,還是手動啟動。
  • 目前執行中作業所經過的時間,或已完成執行的總執行時間。 如果持續時間超過設定的預期完成時間,就會顯示警告。
  • 執行的狀態,可以是 QueuedPendingRunningSkippedSucceededFailedTerminatingTerminatedInternal ErrorTimed OutCanceledCancelingWaiting for Retry
  • 執行的任何參數。
  • 按下 Kebab 功能表 即可存取執行的內容特定動作,例如停止作用中執行或刪除已完成的執行。

若要變更執行清單中顯示的資料行,請按下 設定圖示 並選取或取消選取資料行。

前 [5 個錯誤類型]資料表會顯示所選時間範圍內的最常見錯誤類型清單,可讓您快速查看工作區中最常見的工作問題原因。

若要檢視[詳細的執行資料],請按下 [開始時間] 的資料行連結。 若要檢視作業詳細資料,請按下 [作業] 資料行中的作業名稱。

檢視作業的譜系資訊

如果您的工作區中已啟用 Unity 目錄,您可以檢視工作流程中任何 Unity 目錄資料表的譜系資訊。 如果您的工作流程可以使用譜系資訊,您會在作業的 [作業詳細資料] 面板中看到具有上游和下游資料表計數的連結、作業執行的 [作業執行詳細資料] 面板,或工作執行的[工作執行詳細資料] 面板。 按下連結以顯示資料表清單。 按下資料表以查看目錄總管中的詳細資訊。

檢視及執行以 Databricks Asset Bundle 建立的作業

您可以使用 Azure Databricks 作業 UI 來檢視及執行 Databricks Asset Bundle 所部署的作業。 根據預設,這些作業在作業 UI 中是唯讀的。 若要編輯套件組合所部署的作業,請變更 bundle 設定檔並重新部署作業。 僅將變更套用至套件組合組態可確保套件組合來源檔案一律會擷取目前的作業組態。

不過,如果您必須立即變更作業,可以中斷作業與套件組合組態的連線,以啟用在 UI 中編輯作業設定。 若要中斷作業,請按下 [中斷與來源的連線]。 在 [中斷與來源的連線] 對話方塊中,按下 [中斷連線] 以確認。

您對 UI 中作業所做的任何變更都不會套用至套件組合組態。 若要將您在 UI 中所做的變更套用至套件組合,必須手動更新套件組合組態。 若要將作業重新連線至套件組合組態,使用套件組合重新部署作業。

匯出作業執行結果

您可以匯出所有作業類型的筆記本執行結果和作業執行記錄。

匯出筆記本執行結果

您可以匯出作業結果來保存作業執行。 針對筆記本作業執行,您可以匯出轉譯的筆記本,稍後可 匯入 Azure Databricks 工作區。

若要匯出具有單一工作之作業的筆記本執行結果:

  1. 在 [作業詳細資料] 頁面上,按下 [已完成執行(前 60 天)] 資料表 [執行] 資料行中執行的 [檢視詳細資料] 連結。
  2. 按一下 [匯出至 HTML]

若要匯出具有多個工作之作業的筆記本執行結果:

  1. 在 [作業詳細資料] 頁面上,按下 [已完成執行(前 60 天)] 資料表 [執行] 資料行中執行的 [檢視詳細資料] 連結。
  2. 按下要匯出的筆記本工作。
  3. 按一下 [匯出至 HTML]

匯出作業執行記錄

您也可以匯出作業執行的記錄。 您可以設定作業,以透過作業 API 自動將記錄傳送至 DBFS。 請參閱傳遞至作業 API 中[建立新作業]操作 (POST /jobs/create) 之要求本文中的 new_cluster.cluster_log_conf 物件。