全部產品
Search
文件中心

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

更新時間:Jun 19, 2024

本文為您介紹Logview 2.0的功能及使用,本文簡稱Logview。您可以通過Logview URL查看作業運行資訊。

概述

Logview是MaxCompute作業運行狀態資訊記錄與展現的一個工具,目前支援如下功能:

  • 支援以互動式DAG圖展示作業處理邏輯架構,您還可以查看相應的Operation層級。

  • 支援回放作業運行過程。

  • 支援通過Fuxi Sensor查看記憶體及CPU使用方式。

Logview入口

當您提交運行MaxCompute作業時,系統會自動產生一個以https://logview.aliyun.com/logview開頭的URL地址。

  • 使用MaxCompute用戶端(odpscmd)提交作業後,您需要手工複製該地址到瀏覽器中訪問。

  • 使用DataWorks提交作業後,您直接點選連結就可以開啟Logview介面。

Logview介面如下。URL介面

序號

地區

標題與功能區,詳情請參見標題和功能區

Basic Info,詳情請參見Basic Info

作業詳情,詳情請參見作業詳情

標題和功能區

標題與功能區包含您提交MaxCompute作業時產生的唯一作業ID及您自訂的作業名稱(通過SDK方式提交的作業包含作業名稱資訊)。您還可以執行如下操作。

表徵圖

功能

開啟

開啟本地儲存的作業詳情檔案Logview_detail.txt。

返回

返回Logview 1.0版介面。

儲存

將作業詳情檔案儲存至本地裝置。

Basic Info

Basic Info地區展示的作業基本資料如下。

參數名

描述

MaxCompute Service

作業使用的MaxCompute服務的Endpoint。Endpoint詳情請參見Endpoint

Project

作業所屬的MaxCompute專案名稱。

Cloud account

提交作業的阿里雲帳號資訊。

Type

作業的類型。例如SQL、SQLRT、LOT、XLib、CUPID、AlgoTask和Graph。

Status

作業的狀態。狀態取值如下:

  • Success:作業執行成功。

  • Failed:作業執行失敗。

  • Canceled:作業執行取消。

  • Waiting:作業正在MaxCompute中處理,並沒有提交至Fuxi中運行。

  • Running:作業正在Fuxi中處理。

  • Terminated:作業已執行結束。

Start Time

作業提交時間。

End Time

作業執行結束時間。

Latency

作業執行消耗的時間長度。

Progress

作業執行進度。

Priority

作業優先順序。

Queue

作業在資源配額組內的排隊位置。

作業詳情

您可以通過作業詳情地區全方位瞭解作業,作業詳情地區包含如下功能區:

Job Details

  • 作業執行圖

    Job Detail頁簽的上半部分為作業執行圖。執行圖以可視化方式展示三個維度子任務依賴關係:Fuxi Job層、Fuxi Task層和Operation層,同時提供一系列協助工具輔助,為排查問題提供協助。介面構成如下。作業執行圖

    序號

    描述

    麵包屑導航,用於切換Fuxi Job。JOB:_SQL_0_0_0_job_0為Fuxi Job名稱。

    排查問題協助工具輔助。包含Progress Chart、Input Heat Chart、Output Heat Chart、TaskTime Heart Chart和InstanceTime Heart Chart。

    您可以在此地區重新整理作業執行狀態(重新整理)、全屏或縮放顯示作業執行圖(全屏)、擷取MaxCompute Studio文檔(協助)和切換至任務上一層級(切換層級)。

    縮放協助工具輔助。

    Fuxi Task。一個MaxCompute作業由一個或多個Fuxi Job組成。每個Fuxi Job由一個或多個Fuxi Task組成。每個Fuxi Task由一個或者多個Fuxi Instance組成,當使用者的輸入資料量變大時,MaxCompute會在每個Task啟動更多的節點來處理資料,每個節點就是一個Fuxi Instance。例如,簡單的MapReduce通常會產生兩個Fuxi Task,一個是Map一個是Reduce,兩個Fuxi Task的名稱分別為M1和R2,當SQL比較複雜時,可能會產生多個Fuxi Task。

    您可以在執行介面上看到每個Fuxi Task的名稱。例如M1,表示一個Map Task;R4_3_9的3、9表示它依賴M3、C9_3執行結束才能開始執行。同理,M2_4_9_10_16表示M2要依賴R4_3_9、C9_3、R10_1_16、C16_1四個Task執行結束後才能開始執行。R/W表示Task讀取和寫的行數。

    單擊某個Task或在Task上單擊右鍵可以查看Task對應的Operator運算元依賴關係及全部Operator運算元圖。

    您可以快速查看輸入和輸出表。

    Fuxi Task回放。單擊播放即可開始播放,再次單擊則暫停。您也可以手動拖動進度條。進度條左邊為開始時間,中間為播放時間,右邊為結束時間。

    鷹眼。

    說明
    • 不支援回放Running狀態的Fuxi Task。

    • AlgoTask類型的作業(例如PAI機器學習),由於只有一個Fuxi Task,故不提供作業執行圖。

    • 非SQL類型作業,僅能展示Fuxi Job和Fuxi Task層,不支援展示Operation層。

    • 如果只有一個Fuxi Job,作業執行圖預設展示Fuxi Task層依賴關係;否則,預設展示Fuxi Job層依賴關係。

  • 作業運行情況

    Job Detail頁簽的下半部分為作業運行詳細資料。介面構成如下。運行結果

    序號

    描述

    Fuxi Job頁簽,您可以在此切換Fuxi Job。

    Fuxi Job對應的Fuxi Task詳情。在某個Fuxi Job下,單擊任一Fuxi Task,在下方會展開該Fuxi Task對應的Fuxi Instance資訊。預設展開第一個Fuxi Job的第一個Fuxi Task的Fuxi Instance資訊。

    對於AlgoTask和CUPID類型作業,此地區會提供Sensor列,您可以單擊Fuxi Task對應的Sensor查看Fuxi Instance的CPU及記憶體資訊。Fuxi Job分類如下:

    • M:資料掃描的作業。

    • R:R開頭的是Reduce Job。

    • J: J開頭的是Join Job。

    • C:C開頭的作業是一個虛擬節點,不涉及任何計算,只做判斷選擇分支使用。

    說明
    • Fuxi Sensor功能在西南1(成都)、華南1(深圳)、華東2(上海)、華東1(杭州)、華北3(張家口)和華北2(北京)地區已開放。

    • Fuxi Task會有可能因為interrupted狀態而重試運行,此時Progress只顯示重試運行部分的進度,所以會出現整個作業已經執行成功但是此Fuxi Task的Progress不是100%的現象,此為正常顯示。

    Logview為不同階段的Instance進行了分組。您可以單擊Failed快速查看出錯的節點。

    Fuxi Instance。

    • ID樣本為M1#0_0,其中第一個0的位置代表Fuxi Instance的自增ID;第二個0的位置代表任務的重跑次數,0代表沒有重跑,值為幾就代表重跑幾次。

    • StdOut和StdErr。您可以查看輸出和錯誤資訊,您自己列印的資訊也可以在這裡查看,同時提供下載功能。

    • Debug。調測並排除錯誤。

    • Fuxi Instance數量限制:

      當使用如下SQL語句時,Fuxi Instance個數限制為1個。

      • limit

      • 窗函數SQL中沒有partition by key

      • Aggregate操作SQL中沒有group by key

      • Join操作SQL中沒有等值Join Key。

      • order by

Fuxi Sensor

Fuxi Sensor是展示MaxCompute作業全維度資源檢視。您可以通過Fuxi Sensor查看Fuxi Instance的CPU及記憶體的實際消耗量。Fuxi Sensor是作業問題定位以及作業運行品質分析的重要工具。例如以下情境的作業問題可藉助Fuxi Sensor進行分析:

  • 作業記憶體溢出時,分析實際使用的記憶體量。

例如,您可以通過Fuxi Sensor查看機器學習作業Fuxi Instance的以下資源使用方式:

  • CPU使用量

    CPU指標包括兩條線,一條顯示申請的CPU量(cpu_plan),另一條顯示實際的CPU使用量(cpu_usage)。縱座標中的400,表示4個Processor。目前使用者只可以通過調整Processor的個數來調整申請的CPU量,目前使用者無法調整CPU使用量。CPU

  • 記憶體使用量量

    記憶體指標包括兩條線,一條顯示申請的記憶體量(mem_plan),另一條顯示實際的記憶體使用量量(mem_usage)。

    記憶體使用量量(mem_usage)包括兩部分資訊RSS(Resident Set Size)和PageCache。RSS是Malloc(非檔案對應)發生缺頁之後的記憶體,該部分記憶體,在記憶體緊張時無法被回收。PageCache是核心快取檔案佔用的記憶體,例如讀寫記錄檔,PageCache在記憶體緊張時通常是可以被回收。

    • 記憶體詳情記憶體

    • RSS記憶體使用量量RSS

    • PageCache記憶體使用量量Page-cache

Result

Result頁簽顯示的內容有如下兩種情況:

  • 當前作業運行成功,顯示的為運行結果。

    • 您可以使用如下面命令選擇關閉顯示運行結果。

      setproject odps.forbid.fetch.result.by.bearertoken=true;
    • 您可以通過設定如下Flag參數改變顯示結果樣式。

      --CSV格式
      set odps.sql.select.output.format=csv;
      --Text格式
      set odps.sql.select.output.format=HumanReadable;
  • 當前作業運行失敗,顯示的為失敗原因。

SourceXML

  • XML

    在該頁簽下以XML方式顯示作業等級以及Task相關資訊。

  • Settings

    在該頁簽下顯示了當前Task的相關Setting資訊。

  • Command

    在該頁簽下顯示了當前Task的相關Flag設定情況。

SQL Script

該頁簽下顯示當前Task的SQL運行指令碼。

History

該頁簽下顯示了當前Task的執行歷程記錄。

SubStatusHistory

在該頁簽下顯示了當前SubTask的運行狀態,具體含義如下。substatus

狀態

說明

Waiting for scheduling

作業已提交,等待MaxCompute架構調度,通常時間很短。

Waiting for cluster resource

MaxCompute架構發現Fuxi計算叢集沒資源,等待中。

Waiting for concurrent task slot

Project層級流控,Project可以設定並行提交SQL個數。

Waiting for data replication

等待資料複製。

Waiting for execution slot

系統層級流控。

Waiting for cleaning up of previous task attempt

等待清理執行歷史完成。

Waiting for execution

從父進程隊列拿出來分發給子進程執行過程,通常很快。

Preparing for execution

明確知道交給子進程,如果子進程出問題才會時間長。

Task is executing

作業在架構處理中。

SQLTask is initializing

SQL作業初始化中。

SQLTask is compiling query

SQL作業編譯中。

SQLTask is optimizing query

SQL作業最佳化Query,如果執行計畫複雜,最佳化時間會稍長,但過長可能就是出問題了。

SQLTask is splitting data sources

SQL作業最佳化中,切分Data Sources。

SQLTask is generating execution plan

SQL作業產生執行計畫中,時間長可能是讀取分區太多,或者小檔案太多。

SQLTask is submitting execution plan

SQL作業提交執行計畫。

Job has been submitted

作業提交計算叢集。

Offline Job Waiting for running

作業提交計算叢集後發現Fuxi叢集Quota組無資源,此狀態表示作業在等待計算資源。作業提交計算叢集前本來以為有計算資源,實際提交後發現無計算資源,就會等待。此狀態只會出現一次,後續就算沒有計算資源也不會再顯示。

Offline Job is running

Fuxi作業執行中, 如果運行中無資源,會一直保持該狀態。例如高優先順序作業搶佔資源,導致部分Fuxi Instance不能運行,狀態為ready

Offline Job is failed

Fuxi作業執行失敗。

Offline Job is succeed

Fuxi作業執行成功。

SQLTask is updating meta information

SQL作業更新中繼資料資訊狀態,產生動態分區時,時間可能會稍長。

SQLTask is finishing

SQL作業執行結束。

Online Job is cancelled by fuxi

Service Mode模式被取消。

Task rerun

作業重跑,可能是Service Mode模式執行失敗,採用離線模式,也可能是資料跨叢集複製。

Online Job Waiting for running

Service Mode模式等待運行。

Online Job is running

Service Mode模式運行中。

Online Job is failed

Service Mode模式執行失敗。

Online Job is succeed

Service Mode模式運行成功。

Online Job is cancelled by fuxi

Service Mode模式作業被取消。

Task key-path executing finished

作業關鍵路徑完成,但是Detailstatus等尚未完成.

Task key-path is finished

作業關鍵路徑完成。

Instance key-path is finished

Instance關鍵路徑完成。

Task execution is finished

作業處理完成,產生DetailStatus。

Instance execution is finished

作業處理完成。

Execution failed

作業執行失敗。