/** * * @return estimated length of this job's average reduce input */ long getEstimatedReduceInputSize() { if(job.desiredReduces() == 0) {//no reduce output, so no size return 0; } else { return getEstimatedTotalMapOutputSize() / job.desiredReduces(); //estimate that each reduce gets an equal share of total map output } }
@Override public boolean shouldSpeculateAllRemainingReduces() { if (speculativeReduceUnfininshedThreshold == 0) { return false; } int unfinished = desiredReduces() - finishedReduces(); if (unfinished < desiredReduces() * speculativeReduceUnfininshedThreshold || unfinished == 1) { return true; } return false; }
/** * * @return estimated length of this job's average reduce input */ long getEstimatedReduceInputSize() { if(job.desiredReduces() == 0) {//no reduce output, so no size return 0; } else { return getEstimatedTotalMapOutputSize() / job.desiredReduces(); //estimate that each reduce gets an equal share of total map output } }
/** * * @return estimated length of this job's average reduce input */ long getEstimatedReduceInputSize() { if(job.desiredReduces() == 0) {//no reduce output, so no size return 0; } else { return getEstimatedTotalMapOutputSize() / job.desiredReduces(); //estimate that each reduce gets an equal share of total map output } }
int desiredReduces = job.desiredReduces(); int completedMaps = job.finishedMaps(); int completedReduces = job.finishedReduces();
JobInProgress job = it.next(); totalMaps += job.desiredMaps(); totalReduces += job.desiredReduces(); comMaps += job.finishedMaps(); comReduces += job.finishedReduces(); int desiredReduces = job.desiredReduces(); int completedMaps = job.finishedMaps(); int completedReduces = job.finishedReduces();
int desiredReduces = job.desiredReduces(); int completedMaps = job.finishedMaps(); int completedReduces = job.finishedReduces();
if (job.getStatus().getRunState() == JobStatus.RUNNING) { neededMaps += job.desiredMaps() - job.finishedMaps(); neededReduces += job.desiredReduces() - job.finishedReduces();
if (job.getStatus().getRunState() == JobStatus.RUNNING) { neededMaps += job.desiredMaps() - job.finishedMaps(); neededReduces += job.desiredReduces() - job.finishedReduces();
if (job.getStatus().getRunState() == JobStatus.RUNNING) { neededMaps += job.desiredMaps() - job.finishedMaps(); neededReduces += job.desiredReduces() - job.finishedReduces();
job.desiredReduces() != 0)) {
job.desiredReduces() != 0)) {
job.desiredReduces() != 0)) {
isMapTask ? job.desiredMaps() : job.desiredReduces(); int padding = 0; if (numTaskTrackers > MIN_CLUSTER_SIZE_FOR_PADDING) {
isMapTask ? job.desiredMaps() : job.desiredReduces(); int padding = 0; if (numTaskTrackers > MIN_CLUSTER_SIZE_FOR_PADDING) {
if (job.getStatus().getRunState() == JobStatus.RUNNING) { int totalMapTasks = job.desiredMaps(); int totalReduceTasks = job.desiredReduces(); remainingMapLoad += (totalMapTasks - job.finishedMaps()); remainingReduceLoad += (totalReduceTasks - job.finishedReduces()); totalNeededReduces += job.desiredReduces(); int padding = 0; if (numTaskTrackers > MIN_CLUSTER_SIZE_FOR_PADDING) {
replace(' ', '_').replace('\t', '_').replace('\n', '_'); int desiredMaps = job.desiredMaps(); int desiredReduces = job.desiredReduces(); int runningMaps = 0; int failedMaps = 0;
/** * Returns an XML-formatted table of the jobs in the list. * This is called repeatedly for different lists of jobs (e.g., running, completed, failed). */ public void generateJobTable(JspWriter out, String label, List<JobInProgress> jobs) throws IOException { if (jobs.size() > 0) { for (JobInProgress job : jobs) { JobProfile profile = job.getProfile(); JobStatus status = job.getStatus(); JobID jobid = profile.getJobID(); int desiredMaps = job.desiredMaps(); int desiredReduces = job.desiredReduces(); int completedMaps = job.finishedMaps(); int completedReduces = job.finishedReduces(); String name = profile.getJobName(); out.print("<" + label + "_job jobid=\"" + jobid + "\">\n"); out.print(" <jobid>" + jobid + "</jobid>\n"); out.print(" <user>" + profile.getUser() + "</user>\n"); out.print(" <name>" + ("".equals(name) ? " " : name) + "</name>\n"); out.print(" <map_complete>" + StringUtils.formatPercent(status.mapProgress(), 2) + "</map_complete>\n"); out.print(" <map_total>" + desiredMaps + "</map_total>\n"); out.print(" <maps_completed>" + completedMaps + "</maps_completed>\n"); out.print(" <reduce_complete>" + StringUtils.formatPercent(status.reduceProgress(), 2) + "</reduce_complete>\n"); out.print(" <reduce_total>" + desiredReduces + "</reduce_total>\n"); out.print(" <reduces_completed>" + completedReduces + "</reduces_completed>\n"); out.print("</" + label + "_job>\n"); } } }
/** * Returns an XML-formatted table of the jobs in the list. * This is called repeatedly for different lists of jobs (e.g., running, completed, failed). */ public void generateJobTable(JspWriter out, String label, List<JobInProgress> jobs) throws IOException { if (jobs.size() > 0) { for (JobInProgress job : jobs) { JobProfile profile = job.getProfile(); JobStatus status = job.getStatus(); JobID jobid = profile.getJobID(); int desiredMaps = job.desiredMaps(); int desiredReduces = job.desiredReduces(); int completedMaps = job.finishedMaps(); int completedReduces = job.finishedReduces(); String name = profile.getJobName(); out.print("<" + label + "_job jobid=\"" + jobid + "\">\n"); out.print(" <jobid>" + jobid + "</jobid>\n"); out.print(" <user>" + profile.getUser() + "</user>\n"); out.print(" <name>" + ("".equals(name) ? " " : name) + "</name>\n"); out.print(" <map_complete>" + StringUtils.formatPercent(status.mapProgress(), 2) + "</map_complete>\n"); out.print(" <map_total>" + desiredMaps + "</map_total>\n"); out.print(" <maps_completed>" + completedMaps + "</maps_completed>\n"); out.print(" <reduce_complete>" + StringUtils.formatPercent(status.reduceProgress(), 2) + "</reduce_complete>\n"); out.print(" <reduce_total>" + desiredReduces + "</reduce_total>\n"); out.print(" <reduces_completed>" + completedReduces + "</reduces_completed>\n"); out.print("</" + label + "_job>\n"); } } }
jobInfo.getTotalReduces() == jip.desiredReduces());