1 public class MaxTemprature {
2
3 /**
4 * 程序入口
5 * @author: wangyanfu
6 * @version: Jul 10, 2013 11:00:26 AM
7 */
8
9 public static void main(String[] args) {
10
11 try {
12 //########################
13 //此处直接操作在hadoop集群中
14 //########################
15 Path inputPath = new Path("hdfs://192.168.1.15:9000/hadoopcase/maxtemprature/input/data.txt");
16 Path outPath = new Path("hdfs://192.168.1.15:9000/hadoopcase/maxtemprature/output");
17
18 JobConf jobConf = new JobConf(MaxTempratureMapper.class);
19
20 jobConf.setJobName("Calculate Max Temprature");
21
22 FileInputFormat.setInputPaths(jobConf, inputPath);
23 FileOutputFormat.setOutputPath(jobConf, outPath);
24
25 //#################################
26 //设置输出属性,输出时压缩
27 //#################################
28 jobConf.setBoolean("mapred.output.compress", true);
29 //#################################
30 //指定输出压缩编码为GZIP
31 //#################################
32 jobConf.setClass("mapred.output.compression.codec", GzipCodec.class, CompressionCodec.class);
33
34
35 //#################################
36 //设置Map后结果压缩,压缩编码为GZIP
37 //#################################
38 jobConf.setCompressMapOutput(true);
39 jobConf.setMapOutputCompressorClass(GzipCodec.class);
40
41 jobConf.setMapperClass(MaxTempratureMapper.class);
42 jobConf.setCombinerClass(MaxTempratureReducer.class);
43 jobConf.setReducerClass(MaxTempratureReducer.class);
44
45 //**********************************************
46 //TextInputFormat格式默认行号为key,每一行的字符为value
47 //**********************************************
48 jobConf.setInputFormat(TextInputFormat.class);
49
50 //**********************************************
51 //设置Maper后的输出格式,不设置则出现参数类型不匹配错误
52 //**********************************************
53 jobConf.setOutputKeyClass(Text.class);
54 jobConf.setOutputValueClass(IntWritable.class);
55
56 JobClient.runJob(jobConf);
57 } catch (IOException e) {
58 e.printStackTrace();
59 }
60
61 }
62
63 }