用 MaxCompute Studio 查看作業排隊詳情
各位MaxCompute的用戶及運維朋友,在日常使用中,您有沒有遇到這種場景: 我作業提交了這麼久,為啥還沒看到計算任務執行?作業提交後狀態一直是 RUNNING ,到底執行到了什麼階段?作業提交後隻能等,也不知道完成的進度如何?為何當前作業一直在等待,到底什麼作業正在占用著我的計算資源?
現在,為了解決用戶的這些痛點,MaxCompute 正式上線了作業隊列展示功能。用戶可以通過 MaxCompute Studio 和 Logview 查看作業執行的詳細階段,查看計算集群的等待隊列,從此不再對提交作業的執行狀態一無所知。
用戶可以根據隊列詳情優化自己的作業優先級和調度機製,從而進一步提高計算資源的利用率。
本文首先對MaxCompute作業執行的各個階段進行說明,然後以MaxCompute Studio為例,說明如何查看作業排隊位置,查看隊列詳情以及作業狀態轉換曆史信息。
注意:本文所說的作業隻針對SQL和MR類型,MaxCompute之上運行的其他類型的作業,可能會有不同的調度機製。
作業執行階段的說明
MaxCompute 作業的生命周期如圖所示,作業提交後,首先會在控製集群上進行預處理和優化,生成執行計劃;然後會提交到計算集群對應的優先級隊列等待分配計算資源;
分配到第一片計算資源後,作業開始正式執行。對於一些異常情況,還可能會出現回退、重新執行等狀態。
在排隊功能上線之前,所有上述階段的作業狀態都會展示為RUNNING,用戶無法知道自己提交的作業進行到哪一個階段。現在,可以通過作業的substatus屬性查看運行中作業的詳細狀態。substatus具體的狀態碼說明如下:
ID | Description | 備注 |
---|---|---|
1010 | Waiting for scheduling | 作業已提交,準備調度 |
1011 | Waiting for cluster resource | 等待作業資源 |
1012 | Waiting for concurrent task slot | 等待並發執行資源 |
1013 | Waiting for data replication | 等待數據複製 |
1020 | Waiting for execution | 等待作業處理 |
1030 | Preparing for execution | 準備進行作業處理 |
1050 | Task rerun | 重新執行 |
1090 | Execution failed | 執行失敗 |
1210 | SQLTask is initializing | SQL作業初始化中 |
1220 | SQLTask is compiling query | SQL作業編譯中 |
1230 | SQLTask is optimizing query | SQL作業優化中 |
1240 | SQLTask is generating execution plan | SQL作業生成執行計劃中 |
1250 | SQLTask is running the plan on fuxi | SQL作業調度執行中 |
1260 | SQLTask is update meta information | SQL作業更新元數據信息 |
1270 | SQLTask is finishing | SQL作業成功結束 |
如何查看作業隊列和優先級
MaxCompute Studio從2.7.0版本開始提供作業隊列查看的功能。通過Job Explorer查看用戶提交的正在運行中的所有作業:
作業在計算集群正式開始執行之前狀態為 WAITING,通過hover tooltips可以查看狀態詳情。
對於處在排隊隊列中的作業,可以在 排隊位置/優先級 列裏麵看到作業的排隊位置和全局優先級。排隊位置(Position)值為0表示作業已經分配到計算資源,開始執行。排隊位置為正整數n時,表示前麵還有n-1個作業在同一隊列中等待資源
全局優先級是基於項目空間的優先級以及用戶提交作業的priority屬性計算出來的,值越大表示優先級越低。
作業分配到計算資源後的狀態為 RUNNING。
打開作業所在的等待隊列
對於排隊中的作業,可以點擊 排隊位置/優先級 列 打開作業所在的等待隊列:
排隊隊列中展示了同一個項目空間內所有未執行結束的作業。其中,未進入排隊隊列的作業展示在最前方,表示為 -/- ;進入隊列等待計算資源的作業按照排隊位置有序;已經進入計算集群運行以及計算結束正在執行後處理操作的作業展示在最後。如下圖:
用戶可以通過排隊隊列可以輕鬆看出項目空間內排列在自己作業之前的作業以及長時間占用計算資源的作業。可以據此優化作業優先級及調度策略。
排隊隊列的詳細說明可以在阿裏雲官網查看 MaxCompute Studio 的使用文檔獲取。
作業隊列中雙擊 狀態詳情 列可以查看該作業的狀態轉換信息。可以看到作業執行各個階段及執行時間信息。
對於運行中的作業,也可用從作業詳情中直接打開所在的排隊隊列,如圖中所示,點擊 排隊隊列 對應的鏈接:
未來規劃
為了幫助用戶更好的了解作業運行狀態,MaxCompute之後會提供用戶作業進度信息,預估作業的執行進度和結束時間。並且會將作業狀態轉換詳情持久化到meta裏以便用戶在作業結束後進行性能分析和作業比較。同時,也非常歡迎廣大用戶朋友提出自己的需求和建議,我們一起努力,讓MaxCompute成為更好的大數據分析平台。
最後更新:2017-07-24 21:33:43