如果没有你的说说
我一直没有微博,朋友圈也关了好一阵子了,空间是关了的,所以也没有说说,生活的样子嘛,额(⊙o⊙)。。。感觉更美好啦。
如果求温度的平均值,能使用combiner吗?有没有变通的方法?说说你的看法:
combiner的主要功能是通过对map端的数据预先处理,以减少map到reduce端对带宽要求。combiner的输入和输出的形式需要保持一致。求平均气温时,假设有两个map,考虑到mean(0,
20, 10, 25, 15) = 14 而 mean(mean(0, 20, 10), mean(25, 15)) =
mean(10, 20) =
15。结果不一致。故无法直接使用combiner。需要寻求变通的方法。
具体的程序实现如下:
Mapper:
import java.io.IOException;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Mapper;
public class AvgTemperatureMapper extends Mapper {
public static final int
MISSING = 9999;
@Override
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(87)=='+'){
airTemperature
=Integer.parseInt(line.substring(88,92));
}else{
airTemperature
=Integer.parseInt(line.substring(87,92));
}
String
quality = line.substring(92, 93);
if(airTemperature
!= MISSING &&quality.matches("[01459]")){
context.write(new Text(year),new
Text(airTemperature+",1"));
}
}
}
Combiner:
import java.io.IOException;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Reducer;
public class AvgTemperatureCombiner extends Reducer
{
@Override
public void reduce(Text key,
Iterable values,
Context
context) throws IOException, InterruptedException{
double sum
= 0;
int count =
0;
for(Text
value : values){
String
fields[] = value.toString().split(",");
sum +=
Double.parseDouble(fields[0]);
count +=
Integer.parseInt(fields[1]);
}
context.write(key,new
Text(sum+","+count));
}
}
Reducer:
import java.io.IOException;
import org.apache.hadoop.io.DoubleWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Reducer;
public class AvgTemperatureReducer
extends
Reducer {
@Override
public void
reduce(Text key, Iterable values,
Context
context) throws IOException, InterruptedException{
double sum =
0;
int count =
0;
for(Text
value : values){
String
fields[] = value.toString().split(",");
sum +=
Double.parseDouble(fields[0]);
count +=
Integer.parseInt(fields[1]);
}
context.write(key, new
DoubleWritable(sum/count));
}
}
Job:
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.DoubleWritable;
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 AvgTemperature{
public static void
main(String[] args) throws Exception{
if(args.length != 2){
System.err.println("Usage:
AvgTemperature output
path>");
System.exit(-1);
}
Job job =
new Job();
job.setJarByClass(AvgTemperature.class);
job.setJobName("Avg
temperature");
FileInputFormat.addInputPath(job, new
Path(args[0]));
FileOutputFormat.setOutputPath(job, new
Path(args[1]));
job.setMapperClass(AvgTemperatureMapper.class);
job.setCombinerClass(AvgTemperatureCombiner.class);
job.setReducerClass(AvgTemperatureReducer.class);
job.setMapOutputKeyClass(Text.class);
job.setMapOutputValueClass(Text.class);
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(DoubleWritable.class);
System.exit(job.waitForCompletion(true)? 0 :
1);
}
}
1、每个人都有床头金尽的时候。——杜先生晚年在香港,先生为中国抗战赈灾慈善做出巨大贡献,晚年依旧气度过人,毁掉所有欠条。
2、年轻的时候,多忙活点,是好事,不管是徒劳的还是有用的,这都促使你成熟。
3、如果说我懂的道理比别人多一点,那是因为我犯的错误比别人多一点。
4、没吃过的东西总是被我们幻想成最美味的,没试过的事儿一定是我们心里头最值得期待的,没得到的爱人一定是我们为之辗转反侧的。得不到的永远是最美的,其实是病。我们总是羡慕着别人车窗里的风景,总是怠慢了我们手边既得的宿命。
5、牺牲尊严是不够的,要想在这场残酷的游戏里笑到最后,还必须背离原则,因为眼前的敌手,是一个不讲原则的人。而要战胜一个无原则的对手,唯一的方法就是放弃所有的原则。
6、梦想总是考验寂寞,当一片一片梦落下,却来不及救起,那就只能自己默默忍受。
7、小企业成功靠精明,中等企业成功靠管理,大企业成功靠的是诚信。
8、不过如果时间可以重来,我一定会选择跟你重来,把所有的事实告诉你。——慕橙
9、暗恋是神圣的﹐要以对方的幸福为依归。如果有痛楚﹐也该留给自己。
10、我终于发现,这世界上有丰厚的爱,我不能辜负。于是我想对你说,我爱你,请你倾听……
11、让爱幸福,让爱去体验牵挂中的美,让爱沉溺于醉,一缕一缕的醇香四溢,一坛一坛的佳酿封存,等待老去,等待老去的时候启封,这种被爱发酵的幸福,才会更加的甘冽和浓厚。
12、你以为挑起生活的担子是勇气,其实去过自己真正想要的生活才更需要勇气。
13、生活像一只蝴蝶,没有破茧的勇气,哪来飞舞的美丽。生活像一只蜂,没有勤劳和努力,怎能尝到花粉的甜蜜,越努力越幸运!
14、“处处留心皆学问,人情练达即文章”,“日积言有物,百练笔生花”,讲的都是这个道理。它们都告诉我们生活要善于感动,善于发现。如果你在你的成长道路上一直在追求寻找,那你一定会体验到其中的内涵,感受到你的情感波澜。老了解了你生活是否有意义,没有白白浪费青春光阴。
15、尴尬的人生:求而不得,弃而不舍,得而不惜——有些是遗憾,有些是犯贱。
16、时间一分一秒,祝福一片一片,对你的关怀不间断。冷风一吹一吹,凉气一阵一阵,提醒添衣保暖良好祝愿。愿你勤加锻炼,练就一身不怕寒冷的刚强铁骨,抵御寒冷幸福常在。
17、请你一定要比我幸福,才不枉费我狼狈退出,再苦也不说苦,爱不用抱歉来弥补,至少我能成全你的追逐。
18、有些人经过我身旁,住在我脑中,在我心里钻洞;有些人变成相片,堆在角落,灰尘像雪一般冰冻。总要有一首我的歌,大声唱过,再看天地辽阔,活着不多不少,幸福刚好够用。--阿信《一颗苹果》
19、总是有那么一个人,会把你气的直跺脚,伤的直哭,弄得像个疯子,但是只要Ta说句什么,你就又会笑的最甜。
20、如果没有你,一切越美好,我就越悲伤。——《一个美国人在巴黎》
(以上图片均来自网络)
体检前一天不要剧烈运动,饮食要清淡,早点休息。体检当天要穿宽松的衣服便于穿脱,不要带手机等贵重物品以免丢失。体检前可稍事休息,调整心态,不要紧张。