- jar包所在类;map类;reduce类;
job.setJarByClass; job.setMapperClass; job.setReducerClass;
- map输出类型;最后输出类型;
job.setMapOutputKeyClass; job.setMapOutputValueClass;
job.setOutputKeyClass; job.setOutputValueClass;
- 读文件类;输出文件类;
默认TextInputFormat、TextOutputFormat
job.setInputFormatClass; job.setOutputFormatClass;
- reduceTask数量;
job.setNumReduceTasks;
- 分区方法类;
job.setPartitionerClass;
例如:key的hashcode值相同的发往同一个reduceTask(mapTask缓存区中分区排序时用到)
这里产生的reduceTask数量 > 自己定义的rreduceTask数量 报错
这里产生的reduceTask数量 < 自己定义的rreduceTask数量 产生空文件
自己定义的rreduceTask数量 = 1 最后输出一个文件
- 缓存文件存放位置
job.addCacheFile;
- 比较分组类
默认key相同的分为一组
job.setGroupingComparatorClass;
- 输入文件位置;输出文件位置;
FileInputFormat.setInputPaths; FileOutputFormat.setOutputPath;
- 局部聚合
进行局部聚合不能影响原业务
job.setCombinerClass;