xajh32y 发表于 2017-12-18 14:37:58

Hadoop MapReduce编程 API入门系列之wordcount版本4(八)

1 package zhouls.bigdata.myMapReduce.wordcount2;  

2  
3 import java.io.IOException;
  
4
  
5 import org.apache.hadoop.conf.Configuration;
  
6 import org.apache.hadoop.fs.Path;
  
7 import org.apache.hadoop.io.LongWritable;
  
8 import org.apache.hadoop.io.Text;
  
9 import org.apache.hadoop.mapreduce.Job;
  
10 import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
  
11 import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
  
12
  
13 /**
  
14* 用来描述一个特定的作业
  
15* 比如,该作业使用哪个类作为逻辑处理中的map,哪个作为reduce
  
16* 还可以指定该作业要处理的数据所在的路径
  
17* 还可以指定改作业输出的结果放到哪个路径
  
18* ....
  
19* @author duanhaitao@itcast.cn
  
20*
  
21*/

  
22 public>  
23
  
24   public static void main(String[] args) throws Exception {
  
25         
  
26         Configuration conf = new Configuration();
  
27         
  
28         Job wcjob = Job.getInstance(conf);
  
29         
  
30         //设置整个job所用的那些类在哪个jar包
  
31         wcjob.setJarByClass(WCRunner.class);
  
32         
  
33         
  
34         //本job使用的mapper和reducer的类
  
35         wcjob.setMapperClass(WCMapper.class);
  
36         wcjob.setReducerClass(WCReducer.class);
  
37         
  
38         
  
39         //指定本job使用combiner组件,组件所用的类为
  
40         wcjob.setCombinerClass(WCReducer.class);
  
41         
  
42         
  
43         //指定reduce的输出数据kv类型
  
44         wcjob.setOutputKeyClass(Text.class);
  
45         wcjob.setOutputValueClass(LongWritable.class);
  
46         
  
47         //指定mapper的输出数据kv类型
  
48         wcjob.setMapOutputKeyClass(Text.class);
  
49         wcjob.setMapOutputValueClass(LongWritable.class);
  
50         
  
51         
  
52 //      //指定要处理的输入数据存放路径
  
53 //      FileInputFormat.setInputPaths(wcjob, new Path("hdfs://HadoopMaster:9000/wordcount/wc.txt/"));
  
54 //      
  
55 //      //指定处理结果的输出数据存放路径
  
56 //      FileOutputFormat.setOutputPath(wcjob, new Path("hdfs://HadoopMaster:9000/out/wordcount/wc/"));
  
57         
  
58         //指定要处理的输入数据存放路径
  
59         FileInputFormat.setInputPaths(wcjob, new Path("./data/wordcount/wc.txt"));
  
60         
  
61         //指定处理结果的输出数据存放路径
  
62         FileOutputFormat.setOutputPath(wcjob, new Path("./out/wordcount/wc/"));
  
63         
  
64         
  
65         //将job提交给集群运行
  
66         wcjob.waitForCompletion(true);
  
67         
  
68         
  
69   }
  
70   
  
71   
  
72   
  
73   
  
74 }
页: [1]
查看完整版本: Hadoop MapReduce编程 API入门系列之wordcount版本4(八)