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;
/**
* @Classname WordCount
* @Description TODO
* @Date 2019/12/6 22:12
* @Created by KingSSM
*/
public class WordCount {
public static void main(String[] args) throws Exception {
//定义配置对象
Configuration conf = new Configuration();
//定义一个工作任务对象
Job job = Job.getInstance(conf);
//获取map阶段的一个对象
job.setMapperClass(WordCountMap.class);
//指定map阶段的一个输出key
job.setMapOutputKeyClass(Text.class);
//指定map阶段输出的values类型
job.setMapOutputValueClass(IntWritable.class);
//map阶段的输入文件
FileInputFormat.setInputPaths(job,new Path("C:/Users/Admin/OneDrive/桌面/123.txt"));//创建的文件,里面输入一些单词以便统计每个单词出现的次数
//指定Reduce的类
job.setReducerClass(WordCountReduce.class);
//指定reduce阶段的一个输出key
job.setOutputKeyClass(Text.class);
//指定reduce阶段输出的values类型
job.setOutputValueClass(IntWritable.class);
//指定reduce阶段的输出文件
FileOutputFormat.setOutputPath(job,new Path("C:/Users/Admin/OneDrive/桌面/456"));//生成的文件夹中的最后一个文件里,16表示换行次数,1表示单词出现次数,单词之间以空格或换行分隔
//submit
job.waitForCompletion(true);
}
}
10-15
828
11-30
1697
09-28
12-14
394
03-28
701