全部產品
Search
文件中心

MaxCompute:作業智能診斷

更新時間:Nov 19, 2024

本文為您介紹MaxCompute SQL作業的智能診斷功能,旨在儘可能提供診斷結果和建議,以協助您解決作業報錯問題或提升查詢效能,包括如何查看診斷結果和建議,以及解讀分析結果。鑒於查詢效能受多種因素影響,智能診斷僅提供整體查詢效能的部分異常及建議。

有關更全面的作業診斷及調優資訊,詳情請參見Logview診斷實踐SQL調優

使用限制

當前僅支援對SQL作業進行診斷。

查看智能診斷結果及建議

  1. 登入MaxCompute控制台,在左上方選擇所屬地區。

  2. 在左側導覽列單擊工作區 > 作業營運,進入作業營運頁面。

    說明

    查詢作業時間範圍預設設定為1小時,您可以根據專案作業啟動並執行實際情況進行選擇調整。

  3. 單擊目標作業智能診斷列的診斷結果標籤,可跳轉至作業洞察頁面,在作業概覽頁簽下查看詳細的診斷結果說明以及最佳化建議指導。

診斷結果說明

  • 智能診斷列為空白,存在以下情形之一。

    • 作業運行正常,未診斷出異常項。

    • 作業是在當日運行完成(智能診斷結果會在次日統一產生,並添加相應標籤)。

    • 在2023年11月01日之前啟動並執行作業。

    • 在中國香港、華東2金融雲、華北2金融雲(邀測)、華北2阿里政務雲1、華南1金融雲、日本(東京)、新加坡、馬來西亞(吉隆坡)、印尼(雅加達)、德國(法蘭克福)、英國(倫敦)、美國(矽谷)、美國(維吉尼亞)、阿聯酋(杜拜)、沙特(利雅得)以上地區啟動並執行SQL作業。

    若要查看詳細的診斷結果,您可以在作業營運頁面單擊目標作業操作列的洞察,手動觸發診斷。

  • 紅色標籤表示作業報錯資訊診斷結果,橙色標籤表示作業效能診斷結果。

解讀智能診斷結果

以下為您介紹SQL作業智能診斷結果的含義以及解決方案。

資源不足

當作業使用的計算資源量持續低於請求計算資源量的95%且超過5分鐘,則被判定為資源不足。

  • 對於使用隨用隨付計算資源啟動並執行作業,由於隨用隨付資源集區為共用型,計算作業無法指定用量,且按需搶佔資源。若瞬時作業數量過多,存在因眾多使用者搶佔而無法滿足請求的資源量,從而導致作業資源不足的情況。

  • 對於使用訂用帳戶計算資源的作業,由於總體作業運行資料量大、申請資源多,以及作業優先順序低,導致該作業出現資源等待情況。

此時您可以前往目標作業的作業洞察頁面,在資源消耗頁簽查看作業資源消耗情況及某時刻計算Quota的資源分派情況,以判斷導致資源不足的具體原因。然後依據業務情況最佳化任務執行,進行作業優先順序調整或計算資源管理。

資料扭曲

資料扭曲是巨量資料計算一個常見的問題,通常表現為作業的執行進度停留在99%,這使人產生作業執行被卡住的印象。這一現象源於資料分布不均勻,導致部分Worker迅速完成計算,而另一些Worker卻需要運行較長時間處理。在資料量呈爆炸式增長的巨量資料時代,資料扭曲問題會嚴重影響分布式程式的執行效率。因此必須儘早識別出資料扭曲問題,進而分析其產生原因並進行排查與解決。

MaxCompute根據以下標準判定作業是否存在資料扭曲問題:

  • 耗時最長的Worker已耗用時間大於等於所有Worker平均已耗用時間3倍,且平均運行時間長度大於30秒。

  • 存在輸入記錄數大於等於所有Worker平均輸入記錄數3倍的Worker。

MaxCompute提供了發生資料扭曲的節點(Worker)名稱,以便於您後續通過LogView進行排查及調優,詳情請參見使用Logview查看作業運行資訊

關於更多資料扭曲情境以及對應的解決方案資訊,詳情請參見資料扭曲調優

資料膨脹

當作業的輸出記錄數超過輸入記錄數的10倍時,該Fuxi Task被判定為存在資料膨脹問題。

MaxCompute提供了發生資料膨脹的Fuxi Task名稱,以便於您後續通過LogView進行排查及調優,詳情請參見使用Logview查看作業運行資訊

關於更多產生資料膨脹的原因和處理措施資訊,詳情請參見資料膨脹最佳化

模式回退

MaxCompute作業啟動並執行模式有查詢加速(MCQA)模式和普通模式。

  • 對於資料量較大且不需要返回查詢結果的作業,僅可採用普通模式。因此,在資源和作業都正常的情況下,作業運行時間長度通常不會出現較大波動。

  • 對於資料量較小的互動式查詢作業,通常會觸發查詢加速模式運行,該模式下的作業執行速度比普通作業快。而MaxCompute並不保證作業每次都能觸發進入查詢加速模式,因此可能出現查詢加速作業轉至普通作業,進而導致作業運行時間長度未能達到預期。

MaxCompute根據作業出現的Task Rerun子狀態,判定作業是否存在模式回退問題。您可選擇在作業代碼首行添加set odps.service.mode=off;直接讓作業採用普通模式運行,從而避免嘗試使用查詢加速模式而導致失敗和時間浪費。

作業報錯資訊診斷

對於運行失敗的作業,MaxCompute會根據錯誤資訊匹配報錯原因類別,並提供相應的錯誤描述及解決方案,當前僅覆蓋了部分SQL類報錯,對於未能提供診斷結果的失敗作業,需要您自行查閱錯誤碼,以便進行問題的定位和解決方案的查詢。

您有任何相關問題或需要協助,可以通過填寫DingTalk群申請表單加入MaxCompute開發人員社區群(DingTalk群號:11782920)或您的專屬釘群等方式聯絡我們。

相關文檔