天天看點

用 MaxCompute Studio 檢視作業排隊詳情

各位maxcompute的使用者及運維朋友,在日常使用中,您有沒有遇到這種場景: 我作業送出了這麼久,為啥還沒看到計算任務執行?作業送出後狀态一直是 running ,到底執行到了什麼階段?作業送出後隻能等,也不知道完成的進度如何?為何目前作業一直在等待,到底什麼作業正在占用着我的計算資源?

現在,為了解決使用者的這些痛點,maxcompute 正式上線了作業隊列展示功能。使用者可以通過 maxcompute studio 和 logview 檢視作業執行的詳細階段,檢視計算叢集的等待隊列,從此不再對送出作業的執行狀态一無所知。

使用者可以根據隊列詳情優化自己的作業優先級和排程機制,進而進一步提高計算資源的使用率。

本文首先對maxcompute作業執行的各個階段進行說明,然後以maxcompute studio為例,說明如何檢視作業排隊位置,檢視隊列詳情以及作業狀态轉換曆史資訊。

注意:本文所說的作業隻針對sql和mr類型,maxcompute之上運作的其他類型的作業,可能會有不同的排程機制。

用 MaxCompute Studio 檢視作業排隊詳情

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檢視使用者送出的正在運作中的所有作業:

用 MaxCompute Studio 檢視作業排隊詳情

作業在計算叢集正式開始執行之前狀态為 waiting,通過hover tooltips可以檢視狀态詳情。

對于處在排隊隊列中的作業,可以在 排隊位置/優先級 列裡面看到作業的排隊位置和全局優先級。排隊位置(position)值為0表示作業已經配置設定到計算資源,開始執行。排隊位置為正整數n時,表示前面還有n-1個作業在同一隊列中等待資源

全局優先級是基于項目空間的優先級以及使用者送出作業的priority屬性計算出來的,值越大表示優先級越低。

作業配置設定到計算資源後的狀态為 running。

對于排隊中的作業,可以點選 排隊位置/優先級 列 打開作業所在的等待隊列:

用 MaxCompute Studio 檢視作業排隊詳情

排隊隊列中展示了同一個項目空間内所有未執行結束的作業。其中,未進入排隊隊列的作業展示在最前方,表示為 -/- ;進入隊列等待計算資源的作業按照排隊位置有序;已經進入計算叢集運作以及計算結束正在執行後處理操作的作業展示在最後。如下圖:

用 MaxCompute Studio 檢視作業排隊詳情

使用者可以通過排隊隊列可以輕松看出項目空間内排列在自己作業之前的作業以及長時間占用計算資源的作業。可以據此優化作業優先級及排程政策。

排隊隊列的詳細說明可以在阿裡雲官網檢視 maxcompute studio 的使用文檔擷取。

作業隊列中輕按兩下 狀态詳情 列可以檢視該作業的狀态轉換資訊。可以看到作業執行各個階段及執行時間資訊。

對于運作中的作業,也可用從作業詳情中直接打開所在的排隊隊列,如圖中所示,點選 排隊隊列 對應的連結:

用 MaxCompute Studio 檢視作業排隊詳情

為了幫助使用者更好的了解作業運作狀态,maxcompute之後會提供使用者作業進度資訊,預估作業的執行進度和結束時間。并且會将作業狀态轉換詳情持久化到meta裡以便使用者在作業結束後進行性能分析和作業比較。同時,也非常歡迎廣大使用者朋友提出自己的需求和建議,我們一起努力,讓maxcompute成為更好的大資料分析平台。