首页 > 代码库 > Hadoop权威指南---第二章MaxTemperature例题源码
Hadoop权威指南---第二章MaxTemperature例题源码
敲了一下hadoop权威指南第二章的例题,虽然基本上是照着书上敲的,但还是把它放到这方便以后查看。
代码如下:
<span style="font-size:18px;"><span style="font-size:18px;">import java.io.IOException; import java.util.StringTokenizer; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.LongWritable; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Job; import org.apache.hadoop.mapreduce.Mapper; import org.apache.hadoop.mapreduce.Reducer; import org.apache.hadoop.mapreduce.lib.input.FileInputFormat; import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat; import org.apache.hadoop.util.GenericOptionsParser; public class MaxTemperature { static class MaxTemperatureMapper extends Mapper<LongWritable, Text, Text ,IntWritable >{ private static final int MISSING = 9999; public void map(LongWritable key,Text value, Context context) throws IOException, InterruptedException{ String line = value.toString(); String year = line.substring(15, 19); int airTemperature ; if (line.charAt(29) == '+'){ airTemperature = Integer.parseInt(line.substring(30, 35)); } else{ airTemperature = Integer.parseInt(line.substring(29, 35)); } String quality = line.substring(35, 36); if(airTemperature != MISSING && quality.matches("[01459]"));{ context.write(new Text(year), new IntWritable(airTemperature)); } } } static class MaxTemperatureReducer extends Reducer <Text , IntWritable, Text, IntWritable>{ public void reduce (Text key, Iterable<IntWritable> values, Context context) throws IOException, InterruptedException{ int maxValue = http://www.mamicode.com/Integer.MIN_VALUE;>
输出结果如下(输入数据是自己随便造的,输出的所有气温值都乘了10)
Hadoop权威指南---第二章MaxTemperature例题源码
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。