Example usage for org.apache.hadoop.tools.rumen ParsedLine get

List of usage examples for org.apache.hadoop.tools.rumen ParsedLine get

Introduction

In this page you can find the example usage for org.apache.hadoop.tools.rumen ParsedLine get.

Prototype

protected String get(String key) 

Source Link

Usage

From source file:org.apache.ambari.TestJobHistoryParsing.java

License:Apache License

public void test(String workflowId, String workflowName, String workflowNodeName,
        Map<String, String[]> adjacencies) {
    Configuration conf = new Configuration();
    setProperties(conf, workflowId, workflowName, workflowNodeName, adjacencies);
    String log = log("JOB", new String[] { ID, NAME, NODE, ADJ }, new String[] { conf.get(ID_PROP),
            conf.get(NAME_PROP), conf.get(NODE_PROP), JobHistory.JobInfo.getWorkflowAdjacencies(conf) });
    ParsedLine line = new ParsedLine(log);
    JobID jobid = new JobID("id", 1);
    JobSubmittedEvent event = new JobSubmittedEvent(jobid, workflowName, "", 0l, "", null, "", line.get(ID),
            line.get(NAME), line.get(NODE), line.get(ADJ));
    WorkflowContext context = MapReduceJobHistoryUpdater.buildWorkflowContext(event);

    String resultingWorkflowId = workflowId;
    if (workflowId.isEmpty())
        resultingWorkflowId = jobid.toString().replace("job_", "mr_");
    assertEquals("Didn't recover workflowId", resultingWorkflowId, context.getWorkflowId());
    assertEquals("Didn't recover workflowName", workflowName, context.getWorkflowName());
    assertEquals("Didn't recover workflowNodeName", workflowNodeName, context.getWorkflowEntityName());

    Map<String, String[]> resultingAdjacencies = adjacencies;
    if (resultingAdjacencies.size() == 0) {
        resultingAdjacencies = new HashMap<String, String[]>();
        resultingAdjacencies.put(workflowNodeName, new String[] {});
    }/*from   w ww .  j  a  va  2s  . c om*/
    assertEquals("Got incorrect number of adjacencies", resultingAdjacencies.size(),
            context.getWorkflowDag().getEntries().size());
    for (WorkflowDagEntry entry : context.getWorkflowDag().getEntries()) {
        String[] sTargets = resultingAdjacencies.get(entry.getSource());
        assertNotNull("No original targets for " + entry.getSource(), sTargets);
        List<String> dTargets = entry.getTargets();
        assertEquals("Got incorrect number of targets for " + entry.getSource(), sTargets.length,
                dTargets.size());
        for (int i = 0; i < sTargets.length; i++) {
            assertEquals("Got incorrect target for " + entry.getSource(), sTargets[i], dTargets.get(i));
        }
    }
}