2012年6月18日 星期一

task complete percent

在執行hadoop job時, 可以從管理的網頁觀察到 job 運行的狀態,
亦可觀察到job中的 task 運作的情況,
如下圖
好奇的是, 每個 task 的"Complete"的%數是怎麼來的

簡單去查看了一下jobtasks.jsp source code,
發現他是用到 Hadoop API 中的 TaskReports 這個class裡面的 getProgress()

getProgress() 是以 0~1 表現task完成度
所以 jobtasks.jsp 中在

--------
...
for (int i = start_index ; i < end_index; i++) {
          TaskReport report = reports[i];
          out.print("<tr><td><a href=\"taskdetails.jsp?tipid=" +
            report.getTaskID() + "\">"  + report.getTaskID() + "</a></td>");
         out.print("<td>" + StringUtils.formatPercent(report.getProgress(),2) +
                   ServletUtil.percentageGraph(report.getProgress() * 100f, 80) + "</td>");
...
----------

乘上100來便於觀測完成的%數

沒有留言:

張貼留言