李闹闹(李闹闹脑筋急转弯)

 1 package hadoop;
2 import org.apache.hadoop.conf.Configuration;  // 读写和保存各种配置资源 3 import org.apache.hadoop.fs.Path;  // 保存文件或者目录的路径 4 import org.apache.hadoop.io.IntWritable;  // hadoop自身定义的整形类 5 import org.apache.hadoop.io.Text;  // hadoop自身定义的存储字符串的类 6 import org.apache.hadoop.mapreduce.Job;  // 每个hadoop任务是一个Job 7 import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;  // 读取输入 8 import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;  // 将结果存到输出文件 9 import org.apache.hadoop.util.GenericOptionsParser;  // 解析hadoop的命里行参数 10 11 public class WordCount { 12 public static void main(String[] args) throws Exception { 李闹闹13 Configuration conf = new Configuration();  // 从hadoop配置文件里读取参数 14 String[] otherArgs = new GenericOptionsParser(conf, args).getRemainingArgs();  // 从hadoop命令行读取参数 15 if (otherArgs.length != 2 李闹闹) {  // 从命令行读取的参数正常是两个,分别是输入文件和输出文件的目录 16 System.err.println("Usage: wordcount <in> <out>"); 17 System.exit(2); 18 } 19 Job job = new Job(conf, "wordcount");  // 定义一个新的Job,第一个参数是hadoop配置信息,第二个参数是Job的名字 20 job.setJarByClass(WordCount.class);  // 根据WordCount类的位置设置Jar文件 21 job.setMapperClass(WordCountMapper.class);  // 设置mapper文件   22 job.setReducerClass(WordCountReducer.class);  // 设置reducer文件 23 李闹闹 job.setOutputKeyClass(Text.class);  // 设定输出键的类型 24 job.setOutputValueClass(IntWritable.class);  // 设定输出值的类型 25 FileInputFormat.addInputPath(job, new Path(otherArgs[0])); // 设定输入文件 26 FileOutputFormat.setOutputPath(job, new Path(otherArgs[1])); // 设定输出文件 27 System.exit(job.waitForCompletion(true) ? 0 : 1); // 开始执行Job 28 } 29 }

转载请说明出处 内容投诉内容投诉
九幽软件 » 李闹闹(李闹闹脑筋急转弯)