文章目錄
- 一、Logview簡介
- 1、概述
- 2、標題與功能
- 3、基礎信息
- 二、作業詳情
- 1、Job Details
- 2、Fuxi Sensor
- 3、Result
- ①當前作業運行成功,顯示的為運行結果。
- ②當前作業運行失敗,顯示的為失敗原因。
- 4、SourceXML
- 5、SQL Script
- 6、History
- 7、SubStatusHistory
- 三、分析調優
- 四、常見報錯
一、Logview簡介
1、概述
Logview是MaxCompute作業運行狀態信息記錄與展現的一個工具,目前支持如下功能:
1.支持以交互式DAG圖展示作業處理邏輯架構, 查看相應的Operation層級。2.支持回放作業運行過程。3.支持通過Fuxi Sensor查看內存及CPU使用情況。
2、標題與功能
分別對應以下功能
MaxCompute作業時生成的唯一作業ID
打開本地保存的作業詳情文件Logview_detail.txt。
返回Logview 1.0版界面。
將作業詳情文件保存至本地設備。
3、基礎信息
參數 | 描述 |
---|---|
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 | 作業在資源配額組內的排隊位置。 |
二、作業詳情
1、Job Details
主要介紹下Fuxi Task
MaxCompute作業由一個或多個Fuxi Job組成。
每個Fuxi Job由一個或多個Fuxi Task組成。
每個Fuxi 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讀取和寫的行數。
注意事項:
不支持回放Running狀態的Fuxi Task。AlgoTask類型的作業(例如PAI機器學習),由于只有一個Fuxi Task,故不提供作業執行圖。非SQL類型作業,僅能展示Fuxi Job和Fuxi Task層,不支持展示Operation層。如果只有一個Fuxi Job,作業執行圖默認展示Fuxi Task層依賴關系;否則,默認展示Fuxi Job層依賴關系。
2、Fuxi Sensor
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%的現象,此為正常顯示。
3、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;
②當前作業運行失敗,顯示的為失敗原因。
4、SourceXML
XML: 在該頁簽下以XML方式顯示作業等級以及Task相關信息。
Settings: 在該頁簽下顯示了當前Task的相關Setting信息。
Command: 在該頁簽下顯示了當前Task的相關Flag設置情況。
5、SQL Script
顯示當前Task的SQL運行腳本。
6、History
顯示了當前Task的運行歷史記錄。
7、SubStatusHistory
顯示了當前SubTask的運行狀態
狀態 | 解釋 |
---|---|
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 | 作業執行失敗。 |