Hadoop運行的job作業的時候有具體十個步驟,詳細過程如下:
public class Demo {
public void main(String[] args) throws Exception {
// (1)作業,表示一次MapReduce作業,包含自定義的Mapper和Reducer
Job job = new Job(new Configuration());
// (2)處理輸入文本,把每一行解析成鍵值對
job.setInputFormatClass(TextInputFormat.class);
// (3)指定輸入文件
FileInputFormat.setInputPaths(job, "hdfs://192.168. . :9000/input");
// (4)指定job執行自定義的Mapper
job.setMapperClass(MyMapper.class);
// (5)指定Mapper輸出的鍵值對的類型
job.setMapOutputKeyClass(Text.class);
job.setMapOutputValueClass(IntWritable.class);
// (6)分區類
job.setPartitionerClass(HashPartitioner.class);
// (7)指定job執行自定義的Reducer類
job.setReducerClass(MyReducer.class);
// (8)指定自定義的Reducer的輸出鍵值對的類型
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(IntWritable.class);
// (9)處理輸出文件,把鍵值對寫入到輸出文件裏
job.setOutputFormatClass(TextOutputFormat.class);
// (10)指定給job輸出文件的位置,輸出目錄一定要存在
FileOutputFormat.setOutputPath(job, new Path("hdfs://192.168. . :9000/output"));
// (11)通知job執行,並且等待job運行結果
job.waitForCompletion(true);
}
}