全部產品
Search
文件中心

MaxCompute:使用Logview查看作業運行資訊

更新時間:Feb 28, 2024

Logview是MaxCompute Job提交後查看和Debug任務的工具。

通過Logview可看到一個Job的如下內容:
  • 任務的運行狀態。
  • 任務的運行結果。
  • 任務的細節和每個步驟的進度。
Job提交到MaxCompute後,會產生Logview的連結。您可以直接在瀏覽器上開啟Logview連結,進入查看Job的資訊。 logview 擷取截圖
說明 每個Job的Logview頁面的有效期間為一周。

Logview功能組件

下面結合具體的Logview Web UI介面,為您介紹每個組件的含義。
Logview的首頁分成上下兩部分:
  • Instance資訊
  • Task資訊

Instance資訊

在Logview頁面中,上半部分是您提交的SQL任務對應的MaxCompute Instance資訊,包含URL連結、專案、InstanceID、提交人、開始時間、結束時間和狀態(Status)等。
  • Instance資訊部分,您可以單擊Status查看當前隊列的Status詳細資料,包含四種狀態:
    • Waiting:說明當前作業正在MaxCompute中處理,並沒有提交到分布式調度系統(Fuxi)中運行。
    • Waiting List : n:說明作業已提交至分布式調度系統(Fuxi)排隊等待運行,當前在隊列中處於第n位。
    • Running:作業在分布式調度系統(Fuxi)中運行。
    說明 處於Terminated狀態的Instance由於作業已處理完成,因此不存在隊列資訊。
  • 單擊Status查看隊列詳細資料:
    • Sub Status:表示當前子狀態資訊。
    • WaitPos:表示排隊位置,如果是0表示正在運行,如果為-表示尚未到Fuxi。
    • QueueLength:表示Fuxi中總的隊列長度。
    • Total Priority:表示作業運行時經過系統判斷後授予的優先順序。
    • SubStatus History:單擊後,可以查看作業執行的詳細歷史狀態,包含狀態代碼、狀態原因、開始時間、期間等(某些版本暫時無歷史資訊)。

Task 資訊

在Logview頁面中,下半部分為該Instance對應的task資訊,包括任務名稱、類型、狀態、運行結果(Result)、詳細資料(Detail)、開始時間、結束時間、總已耗用時間(Latency)、進度。其中,Latency指運行總共消耗的時間,與其他頁面的Latency含義類似。

Result:

在Job運行結束後,可以看到運行結果。例如一條select SQL的結果如下圖所示。

Detail:

一個Job在運行中和結束後,均可以單擊Detail來查看任務啟動並執行具體情況。在MaxCompute Task詳細資料對話方塊中,您可以查看以下資訊:
  • 一個MaxCompute Task可以由一個或多個Fuxi Job組成。例如,如果您提交的SQL任務較為複雜,MaxCompute將自動向分布式調度系統(Fuxi)提交多個Fuxi Job。
  • 每個Fuxi Job可以由一個或多個Fuxi Task組成。例如,簡單的MapReduce任務通常會產生兩個Fuxi Task,即Map Task(M1)和Reduce Task(R2)。而一個比較複雜的SQL任務也可能產生多個Fuxi Task。
  • 查看所產生的Fuxi Task的任務名稱。任務名稱一般由字母和數字組成,其中字母表示任務類型(例如,M代表Map Task),數位識別碼任務編號以及依賴關係(例如,R5_4表示該Reduce Task需要J4任務執行結束後才會開始執行;J4_1_2_3則表示該Join Task需要M1、M2、M3這三個任務都執行完成後才會開始執行)。
    說明 I/O Records表示該Fuxi Task的輸入和輸出的記錄數。
  • I/O Records表示這個task的輸入和輸出的records數。
單擊Fuxi Task最右側的查看列中的按鈕或雙擊該Fuxi Task,您可以查看該Fuxi Task對應的Instance資訊。
說明 每個Fuxi Task由一個或多個Fuxi Instance組成。當Fuxi Task的輸入資料量持續增大時,MaxCompute將自動為該Task啟動更多的節點來處理資料,每個節點即對應一個Fuxi Instance。
在頁面下方的Fuxi Instance資訊部分,Logview將處於不同階段的Instance進行分組展示。例如,您可以選擇Failed組,查看運行出錯的節點。同時,您可以單擊StdOut和StdErr列中的按鈕查看標準輸出資訊和標準錯誤資訊。
說明 您在所提交的MaxCompute任務中編寫的列印資訊也將在標準輸出資訊和標準錯誤資訊中展示。

使用Logview排查問題

  • 出錯的任務

    當有任務出錯時,您可以在Logview頁面的Result中看到錯誤的提示資訊,也可以在Detail頁面中通過Fuxi Instance的stderr,查看具體某個Instance出錯的資訊。

  • 資料扭曲
    運行緩慢有時是由於在某個Fuxi Task的所有Fuxi Instance中,有個別Instance形成長尾造成的。長尾的現象由同一個Task內任務分配不均導致。這時可以在任務運行完後,在Summay標籤頁中看運行結果。在每個Task中都可以看到如下輸出:
    output records:
    R2_1_Stg1: 199998999  (min: 22552459, max: 177446540, avg: 99999499)

    此處如果min和max值相差較大,不在一個數量級,說明在這一階段出現了資料扭曲。例如在執列欄位Join時,某個欄位中有一個值出現的比例很高,則在這一欄位上執行Join就會出現資料扭曲。