运行一个Hadoop Job所需要指定的属性
生活随笔
收集整理的這篇文章主要介紹了
运行一个Hadoop Job所需要指定的属性
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、設置job的基礎屬性
Job job = new Job(); job.setJarByClass(***.class); job.setJobName(“job name”); job.setNumReduce(2);
2、設置Map與Reudce的類
job.setMappgerClass(*.class); job.setReduceClass(*.class);
3、設置Job的輸入輸出格式
void setInputFormatClass(Class<? extends InputFormat> cls)void setOutputFormatClass(Class<? extends OutputFormat> cls)前者默認是TextInputFormat,后者是FileOutputFormat。
4、設置Job的輸入輸出路徑
當輸入輸出是文件時,需要指定路徑。
5、設置map與reduce的輸出鍵值類型
主要有以下4個類
void setOutputKeyClass(Class<?> theClass)void setOutputValueClass(Class<?> theClass)void setMapOutputKeyClass(Class<?> theClass)void setMapOutputValueClass(Class<?> theClass)
(1)前面2個方法設置整個job的輸出,即reduce的輸出。默認情況下,map的輸出類型與reduce一致,若二者不一致,則需要通過后面2個方法來指定map的輸出類型。
(2)關于輸入類型的說明:reduce的輸入類型由output的輸出類型決定。map的輸入類型由輸入格式決定,如輸入格式是FileInputFormat,則輸入KV類型為LongWriterable與Text。
6、運行程序
job.waitForCompletion()。
見以下示例:
package org.jediael.hadoopdemo.maxtemperature;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 MaxTemperature {public static void main(String[] args) throws Exception {if (args.length != 2) {System.err.println("Usage: MaxTemperature <input path> <output path>");System.exit(-1);}//1、設置job的基礎屬性Job job = new Job();job.setJarByClass(MaxTemperature.class);job.setJobName("Max temperature");//2、設置Map與Reudce的類job.setMapperClass(MaxTemperatureMapper.class);job.setReducerClass(MaxTemperatureReducer.class);//4、設置map與reduce的輸出鍵值類型job.setOutputKeyClass(Text.class);job.setOutputValueClass(IntWritable.class);//5、設置輸入輸出路徑FileInputFormat.addInputPath(job, new Path(args[0]));FileOutputFormat.setOutputPath(job, new Path(args[1]));//6、運行程序System.exit(job.waitForCompletion(true) ? 0 : 1);} }
總結
以上是生活随笔為你收集整理的运行一个Hadoop Job所需要指定的属性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Gora官方文档之二:Gora对Map-
- 下一篇: 读取Webpage表中的内容