/
GradingDriver.java
33 lines (31 loc) · 1.43 KB
/
GradingDriver.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package ymatsubara.hadoop.example.grading;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
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 GradingDriver {
public static void main(String[] args) throws Exception {
Path inputDirPath = new Path("src/main/resources/input/grading/");
Path outputDirPath = new Path("src/main/resources/output/grading/");
Configuration conf = new Configuration();
conf.set("fs.defaultFS", "file:/");
conf.set("mapreduce.framework.name", "local");
FileSystem fs = FileSystem.getLocal(conf);
fs.delete(outputDirPath, true);
fs.setWriteChecksum(false);
Job job = Job.getInstance(conf, "Quiz grading");
job.setMapperClass(GradingMapper.class);
job.setReducerClass(GradingReducer.class);
job.setNumReduceTasks(10);
// Output Key and Value: same to E and F in GradingReducer
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(IntWritable.class);
FileInputFormat.addInputPath(job, inputDirPath);
FileOutputFormat.setOutputPath(job, outputDirPath);
System.exit(job.waitForCompletion(true) ? 0 : 1);
}
}