public void run() throws Exception { long startTime = System.currentTimeMillis(); JobConf conf = new JobConf(ItemCFJob.class); conf.setJobName("ItemCF" + System.currentTimeMillis()); conf.setNumMapTasks(10); conf.set( "io.serializations", "org.apache.hadoop.io.serializer.JavaSerialization," + "org.apache.hadoop.io.serializer.WritableSerialization"); StringBuilder sb = new StringBuilder(); sb.append("--input ").append(input); sb.append(" --output ").append(output); if (flag) { sb.append(" --booleanData true"); } else { sb.append(" --booleanData false"); } sb.append(" --similarityClassname " + Constants.mahout_similarityclassname); sb.append(" --tempDir ").append(tmp); String[] args = sb.toString().split(" "); RecommenderJob job = new RecommenderJob(); job.setConf(conf); job.run(args); long endTime = System.currentTimeMillis(); logger.info( "recommdation job [" + conf.getJobName() + "] run finish. it costs" + (endTime - startTime) / 1000 + "s."); }