Hadoop,运行任务

时间:2011-04-08 08:52:34

标签: java hadoop

如何以编程方式将任务添加到hadoop并在我的Java应用程序中运行? 有任何想法吗?感谢。

1 个答案:

答案 0 :(得分:4)

在java中这很容易:

Configuration conf = new Configuration();
Job job = new Job(conf);
job.setJarByClass(YOUR_MAPPER.class);
job.setMapperClass(YOUR_MAPPER.class);
job.setReducerClass(YOUR_REDUCER.class);
job.setOutputKeyClass(YOUR_OUTPUT_KEY.class);
job.setOutputValueClass(YOUR_OUTPUT_VALUE.class);
FileInputFormat.addInputPath(job, new Path("YOUR_INPUT_PATH"));
FileOutputFormat.setOutputPath(job, new Path("YOUR_OUTPUT_PATH"));
System.exit(job.waitForCompletion(true) ? 0 : 1);

如果需要将其提交到群集,则必须将这些值添加到配置对象中:

conf.set("fs.default.name", "hdfs://localhost:9000");
conf.set("mapred.job.tracker", "localhost:9001");

您应该将ports和hostname替换为cluster conf目录中的配置值。