<%@ page contentType="text/html; charset=UTF-8" import="java.io.*" import="java.util.*" import="org.apache.hadoop.mapred.*" import="org.apache.hadoop.util.*" import="javax.servlet.jsp.*" import="java.text.SimpleDateFormat" import="org.apache.hadoop.mapred.*" import="org.apache.hadoop.mapred.JobHistory.*" %> "/> "/> <%! private static SimpleDateFormat dateFormat = new SimpleDateFormat("d/MM HH:mm:ss") ; %> <% DefaultJobHistoryParser.MasterIndex jobTrackerToJobs = (DefaultJobHistoryParser.MasterIndex)request.getSession(). getAttribute("jobHistory"); if( null == jobTrackerToJobs ){ out.println("NULL !!!"); return ; } for (Map.Entry> entry : jobTrackerToJobs.entrySet()) { String trackerStartTime = entry.getKey(); Map jobs = entry.getValue(); %>

JobTracker started at: <%=new Date(Long.parseLong(trackerStartTime)) %>


Completed Jobs

<% printJobs(trackerStartTime, jobs, Values.SUCCESS.name(), out) ; %>

Failed Jobs

<% printJobs(trackerStartTime, jobs, Values.FAILED.name() , out) ; %>

Incomplete Jobs

<% printJobs(trackerStartTime, jobs, null , out) ; %>


<% } // end while trackers %> <%! private void printJobs(String trackerid, Map jobs, String status, JspWriter out) throws IOException{ if( jobs.size() == 0 ) { out.print("

No Jobs available

"); return ; } out.print(""); out.print(""); out.print("" + "" + "") ; out.print(""); for( JobInfo job : jobs.values() ) { if( null != status && status.equals(job.get(Keys.JOB_STATUS)) ) { printJob(trackerid, job, out); }else if( status == null && job.get(Keys.JOB_STATUS).length() == 0 ) { printJob(trackerid, job, out); } } out.print("
Job IdNameUserSubmit TimeFinish TimeTotal MapsTotal ReducesFinished MapsFinished Reduces
"); } private void printJob(String trackerid, JobInfo job, JspWriter out)throws IOException{ out.print(""); out.print("" + "" + job.get(Keys.JOBID) + ""); out.print("" + job.get(Keys.JOBNAME) + ""); out.print("" + job.get(Keys.USER) + ""); out.print("" + StringUtils.getFormattedTimeWithDiff(dateFormat, job.getLong(Keys.SUBMIT_TIME),0) + ""); out.print("" + StringUtils.getFormattedTimeWithDiff(dateFormat, job.getLong(Keys.FINISH_TIME) , job.getLong(Keys.SUBMIT_TIME) ) + ""); out.print("" + job.get(Keys.TOTAL_MAPS) + ""); out.print("" + job.get(Keys.TOTAL_REDUCES) + ""); out.print("" + job.get(Keys.FINISHED_MAPS) + ""); out.print("" + job.get(Keys.FINISHED_REDUCES) + ""); out.print(""); } %>