MapReduce——詞頻統計
阿新 • • 發佈:2018-12-20
import org.apache.hadoop.conf.Configuration;
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;
public class APP {
public static void main(String[] args) throws Exception {
////判斷給出的引數必須的2個,如果不是直接退出
if(args.length<2) {
System.out.println("your param error");
System.exit(0);
}
//建立Configuration物件,來設定屬性給他
Configuration conf=new Configuration();
//利用反射輸入configuration物件來建立Job物件
Job job=Job.getInstance(conf);
//設定作業名
job.setJobName("world count");
//設定搜尋jar包的類
job.setJarByClass(APP.class);
//新增輸入路徑,可多個
FileInputFormat.addInputPath(job, new Path(args[0]));
//設定輸出路徑
FileOutputFormat.setOutputPath(job, new Path(args[1]));
//設定輸出型別的key
job.setOutputKeyClass(Text.class);
//設定輸入型別的value
job.setOutputValueClass(IntWritable.class);
//設定Map類
job.setMapperClass(MyMap.class);
//設定reduce類
job.setReducerClass(MyReduce.class);
//等待提交
System.exit(job.waitForCompletion(true) ? 0:1);
}
}