hadoop权威指南阅读(一)
来源:互联网 发布:h是几g网络 编辑:程序博客网 时间:2024/05/29 11:16
1.任务:查找所有年份最高气温
1)MaxTemperatureMapper.class
map的目的是吐出点对,年份=>气温
output.collect(new Text(year),new IntWritable(airTemperature));
key可以重复,例如可以是
1950 23
1950 22
1950 28
2)MaxTemperatureReducer.class
reducer的目的,是针对输入的所有key values;计算最终值,这里的输入就相当于 1950 => array(23,22,28)了
int maxValue = 0;
while(values.hasNext())
{
if(values.next().get()> maxValue)
{
maxValue = values.next().get();
}
output.collect(key,new IntWritable(maxValue)); //这里如果输入是上面说的1950的数据,输出就是 1950 28
}
3)进行实际操作
...
conf.setMapperClass(MaxTemperatureMapper.class);
conf.setReducerClass(MaxTemperatureReducer.class);
...
JobClient.runJob(conf);
4)合并结果集的操作类
在这里复用MaxTemperatureReducer.class
conf.setCombinerClass(MaxTemperatureReducer.class);
因为结果集合会是
1950 28
1951 22
1952 23
的样式
1)MaxTemperatureMapper.class
map的目的是吐出点对,年份=>气温
output.collect(new Text(year),new IntWritable(airTemperature));
key可以重复,例如可以是
1950 23
1950 22
1950 28
2)MaxTemperatureReducer.class
reducer的目的,是针对输入的所有key values;计算最终值,这里的输入就相当于 1950 => array(23,22,28)了
int maxValue = 0;
while(values.hasNext())
{
if(values.next().get()> maxValue)
{
maxValue = values.next().get();
}
output.collect(key,new IntWritable(maxValue)); //这里如果输入是上面说的1950的数据,输出就是 1950 28
}
3)进行实际操作
...
conf.setMapperClass(MaxTemperatureMapper.class);
conf.setReducerClass(MaxTemperatureReducer.class);
...
JobClient.runJob(conf);
4)合并结果集的操作类
在这里复用MaxTemperatureReducer.class
conf.setCombinerClass(MaxTemperatureReducer.class);
因为结果集合会是
1950 28
1951 22
1952 23
的样式
- hadoop权威指南阅读(一)
- hadoop 权威指南 阅读笔记(一)
- hadoop权威指南阅读笔记(一)
- 《hadoop权威指南》阅读记录
- hadoop权威指南学习一
- hadoop权威指南(一)
- Hadoop权威指南笔记一
- 《Hadoop权威指南》阅读记录2
- hadoop权威指南 阅读笔记(二)
- 《HTTP权威指南》阅读笔记(一)
- MongoDB权威指南--阅读笔记(一)
- Hadoop权威指南学习笔记一
- (一)hadoop 权威指南---气象数据获取
- 阅读《http权威指南》
- 《hadoop 权威指南》 读书笔记
- 《hadoop 权威指南》 读书笔记
- Hadoop权威指南-1
- Hadoop权威指南-2
- Cellid LAC(获取)监听
- 创建和删除数据库sql及表的语句
- turned on verbose logging for linking and checked to see if anything suspicious is going on
- 关于DataGridView
- php-fpm简介
- hadoop权威指南阅读(一)
- printk打印到LCD
- 使用VNC连接Ubuntu Server 12.10无法输入字母D
- Nutz:Java项目中SSH框架的最佳替代品
- VC 使用Windows 系统风格的对话框及控件
- 5.7 COUNTING THE COST
- 网关的含义
- Chapter 1 | Arrays and Strings--旋转N*N矩阵的图像和处理M*N矩阵,若某位置为0则所在行和列均置0
- 项目考虑