log.info("Testing FSMBuilder (ClientTrace only)");
System.out.println("In ClientTrace020");
// Run FSMBuilder on Demux output
try {
// Process TaskTracker shuffle clienttrace entries first
JobConf job = new JobConf(new ChukwaConfiguration(), FSMBuilder.class);
job.addResource(System.getenv("CHUKWA_CONF_DIR")+File.separator+"chukwa-demux-conf.xml");
job.setJobName("Chukwa-FSMBuilder_" + day.format(new Date()));
job.setMapperClass(TaskTrackerClientTraceMapper.class);
job.setPartitionerClass(FSMIntermedEntryPartitioner.class);
job.setReducerClass(FSMBuilder.FSMReducer.class);
job.setMapOutputValueClass(FSMIntermedEntry.class);
job.setMapOutputKeyClass(ChukwaRecordKey.class);
job.setInputFormat(SequenceFileInputFormat.class);
job.setOutputKeyClass(ChukwaRecordKey.class);
job.setOutputValueClass(ChukwaRecord.class);
job.setOutputFormat(ChukwaRecordOutputFormat.class);
job.setNumReduceTasks(1);
Path inputPath = new Path(DEMUX_OUTPUT_PATH.toString()+File.separator+"/*/*/ClientTraceDetailed*.evt");
Path fsmOutputPath1 = new Path(fileSys.getUri().toString()+File.separator+fsmSink+"1");
FileInputFormat.setInputPaths(job, inputPath);
FileOutputFormat.setOutputPath(job, fsmOutputPath1);
String[] jars = new File(System.getenv("CHUKWA_HOME")).list(new FilenameFilter() {
public boolean accept(File dir, String name) {
return name.endsWith(".jar");
}
});
job.setJar(System.getenv("CHUKWA_HOME")+File.separator+jars[0]);
JobClient.runJob(job);
System.out.println("Processed TaskTracker ClientTrace.");
// Process DataNode clienttrace entries
job = new JobConf(new ChukwaConfiguration(), FSMBuilder.class);
job.addResource(System.getenv("CHUKWA_CONF_DIR")+File.separator+"chukwa-demux-conf.xml");
job.setJobName("Chukwa-FSMBuilder_" + day.format(new Date()));
job.setMapperClass(DataNodeClientTraceMapper.class);
job.setPartitionerClass(FSMIntermedEntryPartitioner.class);
job.setReducerClass(FSMBuilder.FSMReducer.class);