1. 程式人生 > >Hadoop工作原理圖-WordCount示例

Hadoop工作原理圖-WordCount示例

importorg.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.Path;import org.apache.hadoop.io.IntWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.Job;import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;/**
* author: test * date: 2015/1/25. */public class RunJob {    public static void main(String[] args) {        Configuration conf = new Configuration();//裝在src或者classPath下的所有配置檔案try {            Job job = Job.getInstance();            job.setJarByClass(RunJob.class);            job.setJobName("WordCount"
);            job.setMapperClass(WordCountMapper.class);            job.setReducerClass(WordCountReducer.class);            job.setMapOutputKeyClass(Text.class);            job.setMapOutputValueClass(IntWritable.class);            FileSystem fs = FileSystem.get(conf);            FileInputFormat.addInputPath
(job, new Path("D:/hadoop/input/input"));            Path output = new Path("D:/hadoop/output/wc");            if (fs.exists(output)) {                fs.delete(output, true);//遞迴刪除}            FileOutputFormat.setOutputPath(job, output);            if (job.waitForCompletion(true)) {                System.out.println("Job Done!");            }        } catch (Exception e) {            e.printStackTrace();        }    } }