Example usage for org.apache.hadoop.mapreduce Cluster getJob

List of usage examples for org.apache.hadoop.mapreduce Cluster getJob

Introduction

In this page you can find the example usage for org.apache.hadoop.mapreduce Cluster getJob.

Prototype

public Job getJob(JobID jobId) throws IOException, InterruptedException 

Source Link

Document

Get job corresponding to jobid.

Usage

From source file:org.huahinframework.manager.rest.service.JobService.java

License:Apache License

/**
 * @return {@link JSONObject}/*from  w w w .  ja v a 2 s. c  o m*/
 */
@Path("/kill/id/{" + JOBID + "}")
@DELETE
@Produces(MediaType.APPLICATION_JSON)
public JSONObject killJobId(@PathParam(JOBID) String jobId) {
    Map<String, String> status = new HashMap<String, String>();
    try {
        Cluster cluster = new Cluster(getJobConf());
        for (JobStatus jobStatus : cluster.getAllJobStatuses()) {
            if (jobStatus.getJobID().toString().equals(jobId)) {
                Job job = cluster.getJob(jobStatus.getJobID());
                if (job == null) {
                    break;
                }

                job.killJob();
                status.put(Response.STATUS, "Killed job " + jobId);
                break;
            }
        }
    } catch (Exception e) {
        e.printStackTrace();
        log.error(e);
        status.put(Response.STATUS, e.getMessage());
    }

    if (status.isEmpty()) {
        status.put(Response.STATUS, "Could not find job " + jobId);
    }

    return new JSONObject(status);
}

From source file:org.huahinframework.manager.rest.service.JobService.java

License:Apache License

/**
 * @return {@link JSONObject}/*from   w  w w  .  ja va 2 s .co m*/
 */
@Path("/kill/name/{" + JOBNAME + "}")
@DELETE
@Produces(MediaType.APPLICATION_JSON)
public JSONObject killJobName(@PathParam(JOBNAME) String jobName) {
    Map<String, String> status = new HashMap<String, String>();
    try {
        Cluster cluster = new Cluster(getJobConf());
        for (JobStatus jobStatus : cluster.getAllJobStatuses()) {
            Job job = cluster.getJob(jobStatus.getJobID());
            if (job == null) {
                break;
            }

            if (job.getJobName().equals(jobName)) {
                job.killJob();
                status.put(Response.STATUS, "Killed job " + jobName);
                break;
            }
        }
    } catch (Exception e) {
        e.printStackTrace();
        log.error(e);
        status.put(Response.STATUS, e.getMessage());
    }

    if (status.isEmpty()) {
        status.put(Response.STATUS, "Could not find job " + jobName);
    }

    return new JSONObject(status);
}

From source file:org.huahinframework.manager.rest.service.JobService.java

License:Apache License

/**
 * @param jobId//from ww  w .  j a v a  2s  . c  o m
 * @return {@link JSONObject}
 * @throws IOException
 * @throws InterruptedException
 */
private Map<String, Object> getStatus(String jobId) throws IOException, InterruptedException {
    Map<String, Object> job = null;

    Cluster cluster = new Cluster(getJobConf());
    for (JobStatus jobStatus : cluster.getAllJobStatuses()) {
        if (jobStatus.getJobID().toString().equals(jobId)) {
            job = JobUtils.getJob(jobStatus);
            Job j = cluster.getJob(jobStatus.getJobID());
            if (j == null) {
                break;
            }

            Calendar finishTime = Calendar.getInstance();
            finishTime.setTimeInMillis(j.getFinishTime());
            job.put(Response.FINISH_TIME, finishTime.getTime().toString());

            Map<String, Map<String, Long>> groups = new HashMap<String, Map<String, Long>>();
            for (String s : j.getCounters().getGroupNames()) {
                CounterGroup counterGroup = j.getCounters().getGroup(s);
                Iterator<Counter> ite = counterGroup.iterator();

                Map<String, Long> counters = new HashMap<String, Long>();
                groups.put(counterGroup.getDisplayName(), counters);
                while (ite.hasNext()) {
                    Counter counter = (Counter) ite.next();
                    counters.put(counter.getDisplayName(), counter.getValue());
                }
            }

            job.put(Response.GROUPS, groups);
            break;
        }
    }

    return job;
}