Databricks 作業的監視和可觀察性
本文說明 Azure Databricks UI 中可用的功能,以檢視您有權存取的作業、檢視作業的執行歷程記錄,以及檢視作業執行的詳細資料。 若要針對任務設定通知,請參閱 在任務中新增通知。
若要瞭解如何使用 Databricks CLI 來檢視作業和執行作業,請執行 CLI 命令 databricks jobs list -h
、databricks jobs get -h
和 databricks jobs run-now -h
。 若要了解如何使用工作 API,請參閱工作 API。
如果您有 system.lakeflow
結構描述的存取權,您也可以從您的帳戶檢視和查詢作業執行和工作的記錄。 請參閱 工作系統資料表參考。 您也可以將作業系統資料表與計費資料表聯結,以監視帳戶中作業的成本。 請參閱 使用系統數據表監視作業成本 & 效能。
檢視作業
若要檢視您可以存取的工作清單,請按下側邊欄中的 [工作流程]。 工作流程 UI 中的 [作業] 索引卷標會列出所有可用作業的相關信息,例如作業的建立者、作業的觸發程式,如果有的話,以及最後五次執行的結果。
若要變更作業清單中顯示的資料行,請按下 並選取或取消選取資料行。
您可以在 [作業] 列表中篩選作業,如下列螢幕快照所示。
- 搜尋關鍵詞。 支援名稱、工作 ID 和工作標籤字段的關鍵詞搜尋。 若要搜尋以索引鍵和值建立的標籤,您可以依索引鍵、值或索引鍵和值來搜尋。 例如,針對具有索引鍵
department
和值finance
的標籤,您可以搜尋department
或finance
以尋找相符的工作。 若要依索引鍵和值搜尋,請輸入以冒號分隔的索引鍵和值(例如,department:finance
)。 - 只選取您擁有的作業。
- 選取您有權存取的所有作業。
- 選取您標示為最愛的所有作業。
- 使用標籤。 若要依標記搜尋,您可以使用標籤單來篩選最多五個標籤,或直接使用關鍵詞搜尋。
您也可以按一下欄位標題,依照
若要啟動作業,請按兩下 [播放] 按鈕。 若要停止作業,請按兩下 [停止] 按鈕。 若要存取其他任務動作,請點擊Kebab選單 (例如刪除任務)。
檢視針對單一作業執行
您可以查看您有權存取的工作目前正在執行及最近完成的執行清單,其中包括由外部協同工具(如 Apache Airflow 或 Azure Data Factory)啟動的執行。 若要檢視最近的作業執行清單:
- 按一下側邊欄中的
[工作流程]。
- 在 [名稱] 資料行,按下工作名稱。 [執行] 索引標籤隨即出現,其中包含使用中和已完成執行的矩陣和清單檢視。
矩陣檢視會顯示作業的執行歷程記錄,包括每個作業工作。
矩陣的 [執行總持續時間] 資料列會顯示執行的總持續時間和執行狀態。 若要檢視執行的詳細資料,包括開始時間、持續時間和狀態,請將滑鼠停留在 [執行總持續時間] 資料列中的列上。
[工作] 資料列中的每一個儲存格都代表工作和工作的對應狀態。 若要檢視每個工作的詳細資料,包括開始時間、持續時間、叢集和狀態,請將滑鼠停留在該工作的資料格上。
作業執行和工作執行列會以色彩編碼來指出執行的狀態。 執行成功時顯示綠色。 失敗的執行為紅色、略過的執行為粉紅色,而等候重試為黃色。 暫止、取消或逾時為灰色。 個別作業執行和工作執行列的高度,以可視化方式表示執行持續時間。
如果您已設定 預期的完成時間,當執行持續時間超過設定的時間時,矩陣檢視會顯示警告。
預設情況下,執行列表檢視會顯示以下內容:
- 執行的開始時間。
- 執行識別碼。
- 執行是由作業排程或 API 要求觸發,還是手動啟動。
- 目前執行中作業所經過的時間,或已完成執行的總執行時間。 如果持續時間超過設定的預期完成時間,就會顯示警告。
- 執行的狀態,佇列、擱置、執行、略過、成功、失敗、逾時、取消或 取消。
- 執行終止的錯誤碼。
- 執行參數。
目前正在執行的任務會顯示停止按鈕。 若要停止所有作用中和已排入佇列的執行,請從下拉功能表中選取 [取消執行] 或 [取消所有已排入佇列的執行]。
請使用 以執行其他特定情境的操作,例如刪除已完成的執行項目。
若要存取針對執行的內容特定動作,請點擊 kebab 選單 (例如,停止正在執行的程式或刪除已完成的程式)。
若要變更執行清單檢視中顯示的資料行,請按下 並選取或取消選取資料行。
若要檢視作業執行的詳細資料,請按下執行清單檢視中 [開始時間] 資料行中執行的連結。 若要檢視此作業最近成功執行的詳細資料,請按下 [移至最新的成功執行]。
Azure Databricks 會維護作業執行最多 60 天的歷程記錄。 如果您需要保留作業執行,Databricks 建議在結果到期之前匯出結果。 如需詳細資訊,請參閱匯出作業執行結果。
檢視作業詳細資料
作業執行詳細資料頁面包含作業輸出和記錄連結,包括作業執行中每項工作成功或失敗的相關資訊。 您可以從作業的 [執行] 索引標籤取作業執行詳細資料。
若要從 [執行] 索引標籤檢視作業執行詳細資料,請按下執行清單檢視中 [開始時間]] 資料行中執行的連結。 若要返回作業的 [執行] 索引標籤,請按下 [作業 ID] 值。
具有多任務的工作另外還有圖表、時程表和清單檢視。
圖表檢視
點選圖形中的工作節點以檢視工作執行詳細資料,包括:
- 工作詳細數據,包括執行身分、作業的啟動方式、開始時間、結束時間、持續時間和狀態。
- 原始程式碼。
- 執行該任務的叢集,並連結到其查詢歷程和日誌。
- 任務的指標。
時間軸檢視
包含多個工作的作業具有時間軸檢視,可識別需要很長的時間才能完成、瞭解相依性和重疊的工作,以協助偵錯和優化這些作業。
清單檢視
根據預設,清單檢視會顯示狀態、名稱、類型、資源、持續時間和相依性。 您可以在此檢視中新增和移除資料列。
您可以依名稱搜尋工作、依工作狀態或工作類型篩選,以及依狀態、名稱或持續時間排序工作。
按下 [作業 ID] 值,返回作業的 [執行] Tab。
Azure Databricks 如何判斷作業執行狀態?
Azure Databricks 會根據作業分葉工作的結果,判斷作業執行是否成功。 分葉工作是沒有下游相依性的工作。 作業執行可以有三個結果之一:
- 成功:所有工作都成功。
- 有失敗的成功:某些工作失敗,但所有分葉工作都成功。
- 失敗:一或多個分葉工作失敗。
- 已略過:作業執行已略過(例如,某個任務可能會被略過,因為您超過了作業或工作區執行的同時運行上限)。
- 逾時:作業執行花費的時間太長,無法完成並逾時。
- 已取消:作業執行已取消(例如,使用者手動取消進行中的執行)。
檢視串流任務的度量
重要
Databricks 作業的串流可觀察性 公開預覽版。
當您查看作業執行詳細數據時,您可以在作業 UI 中透過串流觀察指標獲取串流工作負載的數據。 這些度量包括待處理秒數、待處理位元組、待處理記錄,以及待處理檔案,適用於Spark結構化串流支援的來源,如Apache Kafka、Amazon Kinesis、Auto Loader、Google Pub/Sub 和 Delta 資料表。 當您查看任務執行詳細資訊時,度量會在右側窗格中顯示為圖表。 每個圖表中顯示的計量都是依分鐘匯總的最大值,最多可以包含前 48 小時。
每個串流來源只支援特定的計量。 串流來源不支援的計量無法在UI中檢視。 下表顯示支援的串流來源可用的計量:
來源 | 待處理位元組 | 待辦項目記錄 | 待辦專案秒數 | 待辦項目檔案 |
---|---|---|---|---|
卡 夫 卡 | ✓ | ✓ | ||
Kinesis | ✓ | ✓ | ||
三角洲 | ✓ | ✓ | ||
自動載入器 | ✓ | ✓ | ||
Google Pub/Sub | ✓ | ✓ |
您也可以為每個串流指標指定閾值,並在任務執行期間,若串流超過閾值時設定通知。 請參閱 設定慢速作業的通知。
若要檢視工作執行時的串流量測指標,以從支援的結構化串流來源之一傳輸數據:
- 在 作業執行詳細數據 頁面上,點擊您要檢視計量的工作。
- 按兩下 [工作執行] 窗格中的 [計量] 索引標籤。
- 若要開啟計量的圖表,請點擊計量名稱旁的右尖括號
。
- 若要檢視特定數據流的計量,請在 [依stream_id筛选] 文本框中輸入
數據流標識符。 您可以在作業執行的 輸出 中找到資料流識別碼。 - 若要變更計量圖形的時間週期,請使用時間下拉功能表。
- 若要在運行包含超過十個資料流的情況下瀏覽這些資料流,請按下 [下一個] 或 [上一個]。
串流可觀察性限制
- 除非執行有超過四個數據流,否則計量會每分鐘更新一次。 如果執行有超過四個數據流,計量會每隔五分鐘更新一次。
- 每次運行中僅收集前50個數據流的指標。
檢視執行歷程記錄
若要檢視工作的執行歷程記錄,包括成功和失敗的執行:
- 按下 [作業執行詳細資料] 頁面上的工作。 會隨即出現 [工作執行詳細資料] 頁面。
- 在 [執行歷程記錄] 下拉式功能表中,選取要執行的工作類型。
檢視工作 For each
的工作執行歷程記錄
存取 For each
工作的執行歷程記錄與標準 Azure Databricks 作業工作相同。 您可以在 [作業執行詳細資料] For each
頁面上按下 工作節點,或矩陣檢視中的對應資料格。 不過,不同於標準工作,For each
工作的執行詳細資料會顯示為巢狀工作反覆項目的資料表。
若要只檢視失敗的反覆項目,請按下 [僅失敗的反覆項目]。
若要檢視反覆項目的輸出,請按下反覆項目的 [開始時間] 或 [結束時間] 值。
檢視所有作業中的最近執行記錄
您可以檢視在工作區中目前執行中且最近完成的所有作業執行清單,包括由 Apache Airflow 或 Azure Data Factory 等外部協調流程工具啟動的執行。 若要檢視最近的作業執行清單:
- 按一下側邊欄中的
[工作流程]。
- 按一下 [工作運行] 標籤,以顯示已完成運行計數圖形和工作運行清單。
已完成運行次數圖表
[完成的執行計數] 圖形會顯示過去 48 小時內完成的作業執行數目。 根據預設,圖表會顯示失敗、略過和成功的作業執行。 您也可以篩選圖表以顯示特定執行狀態,或將圖形限制為特定時間範圍。 [作業執行] 索引標籤也包含過去 67 天內的作業執行資料表。 根據預設,資料表包含失敗、略過和成功作業執行的詳細資料。
注意
[完成的執行計數] 圖形只會在您按下 [由我擁有] 時顯示。
您可以依執行狀態篩選 [完成的執行計數] :
- 若要更新圖表以顯示目前正在執行或等候執行的作業,請按下 [作用中執行]。
- 若要更新圖形,只顯示已完成的執行,包括失敗、成功和略過的執行,請按下 [已完成執行]。
- 若要更新圖表,只顯示過去 48 小時內成功完成的執行,請按下 [成功執行]。
- 若要更新圖表,只顯示略過的執行,請按下 [略過的執行]。 因為您已超過工作區中並行執行的數目上限,或作業超過作業組態所指定的並行執行數目上限,因此會略過執行。
- 若要更新圖形,只顯示以錯誤狀態完成的執行,請按下 [失敗的執行]。
當您按下任何篩選按鈕時,執行資料表中的執行清單也會更新,只顯示符合所選狀態的作業執行。
若要限制 [完成執行計數] 圖形中顯示的時間範圍,請按下圖表中的游標並拖曳以選取時間範圍。 圖形和執行資料表會更新,只顯示所選時間範圍的執行。
前 [5 個錯誤類型]資料表會顯示所選時間範圍內的最常見錯誤類型清單,可讓您快速查看工作區中最常見的工作問題原因。
作業執行清單
[作業執行] 索引標籤也包含過去 60 天內的作業執行數據表。 根據預設,資料表包含失敗、略過和成功作業執行的詳細資料。
您可以根據下列項目篩選清單中顯示的回合清單:
- 作業:選取最多 3 個作業,並只查看這些作業的執行。
- 執行身分:選取最多 3 個執行身分識別,並只查看以這些使用者身分執行的執行。
- 時間範圍:選取和開始和結束日期和時間,以縮小到在此間隔中發生的作業執行範圍。
- 執行狀態:篩選只查看作用中(目前執行中)、已完成(已完成執行,包括成功和失敗的執行)、成功、失敗和略過的執行。
- 錯誤碼:根據錯誤碼篩選清單,以查看所有因相同錯誤碼而失敗的作業。
根據預設,執行資料表中的執行清單會顯示下列內容:
- 執行的開始時間。
- 與執行關聯的活動名稱。
- 工作執行時使用的使用者名稱。
- 執行是由作業排程或 API 要求觸發,還是手動啟動。
- 目前執行中作業所經過的時間,或已完成執行的總執行時間。 如果持續時間超過設定的預期完成時間,就會顯示警告。
- 執行狀態:排隊中、等待中、執行、略過、成功、失敗、逾時、取消中或 已取消。
- 任何導致終止執行的錯誤碼。
- 執行的任何參數。
- 若要停止執行中的作業,請按兩下 [停止] 按鈕。 若要存取作業的動作,請點擊
(例如,若要停止正在進行的執行或刪除已完成的執行)。
若要變更執行清單中顯示的資料行,請按下 並選取或取消選取資料行。
若要檢視[詳細的執行資料],請按下 [開始時間] 的資料行連結。 若要檢視作業詳細資料,請按下 [作業] 資料行中的作業名稱。
檢視作業的譜系資訊
如果您的工作區中已啟用 Unity 目錄,您可以檢視工作流程中任何 Unity 目錄資料表的譜系資訊。 如果您的工作流程可以使用譜系資訊,您會在作業的 [作業詳細資料] 面板中看到具有上游和下游資料表計數的連結、作業執行的 [作業執行詳細資料] 面板,或工作執行的[工作執行詳細資料] 面板。 按下連結以顯示資料表清單。 按下資料表以查看目錄總管中的詳細資訊。
檢視及執行以 Databricks Asset Bundle 建立的作業
您可以使用 Azure Databricks 作業 UI 來檢視及執行 Databricks Asset Bundle 所部署的作業。 根據預設,這些作業在作業 UI 中是唯讀的。 若要編輯套件組合所部署的作業,請變更 bundle 設定檔並重新部署作業。 僅將變更套用至套件組合組態可確保套件組合來源檔案一律會擷取目前的作業組態。
不過,如果您必須立即變更作業,可以中斷作業與套件組合組態的連線,以啟用在 UI 中編輯作業設定。 若要中斷作業,請按下 [中斷與來源的連線]。 在 [中斷與來源的連線] 對話方塊中,按下 [中斷連線] 以確認。
您對 UI 中作業所做的任何變更都不會套用至套件組合組態。 若要將您在 UI 中所做的變更套用至套件組合,必須手動更新套件組合組態。 若要將作業重新連線至套件組合組態,使用套件組合重新部署作業。
匯出作業執行結果
您可以匯出所有作業類型的筆記本執行結果和作業執行記錄。
匯出筆記本執行結果
您可以匯出作業結果來保存作業執行。 針對筆記本作業執行,您可以匯出轉譯的筆記本,稍後可 匯入 Azure Databricks 工作區。
若要匯出具有單一工作之作業的筆記本執行結果:
- 在 [作業詳細資料] 頁面上,按下 [已完成執行(前 60 天)] 資料表 [執行] 資料行中執行的 [檢視詳細資料] 連結。
- 按一下 [匯出至 HTML]。
若要匯出具有多個工作之作業的筆記本執行結果:
- 在 [作業詳細資料] 頁面上,按下 [已完成執行(前 60 天)] 資料表 [執行] 資料行中執行的 [檢視詳細資料] 連結。
- 按下要匯出的筆記本工作。
- 按一下 [匯出至 HTML]。
匯出作業執行記錄
您也可以匯出作業執行的記錄。 您可以設定作業,以在設定作業計算時自動將記錄傳遞至 DBFS(請參閱 計算組態參考),或透過作業 API。 請參閱傳遞至作業 API 中[建立新作業]new_cluster.cluster_log_conf
操作 () 之要求本文中的 POST /jobs/create
物件。