Я хочу найти самую большую страну с наибольшей площадью.Найти наибольшее значение для ключа
мои набор данных выглядит следующим образом
Afghanistan 648
Albania 29
Algeria 2388
Andorra 0
Austria 84
Bahrain 1
Bangladesh 143
Belgium 31
Benin 113
Bhutan 47
Brunei 6
Bulgaria 111
Burma 678
Cameroon 474
Central-African-Republic 623
Chad 1284
China 9561
Cyprus 9
Czechoslovakia 128
Denmark 43
Djibouti 22
Egypt 1001
Equatorial-Guinea 28
Ethiopia 1222
Finland 337
France 547
Germany-DDR 108
Germany-FRG 249
Greece 132
Guam 0
Hong-Kong 1
Hungary 93
India 3268
Может кто-нибудь помочь мне написать программу MapReduce?
Мой картографа и редуктор код этой
Mapper
public void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException{
String[] tokens = value.toString().split(",");
if(Integer.parseInt(tokens[2]) == 1){
context.write(new Text(tokens[0]), new IntWritable(Integer.parseInt(tokens[3])));
}
}
Reducer
public void reduce(Text key,Iterable<IntWritable> values,Context context) throws IOException, InterruptedException{
int max = 0;
for(IntWritable x : values){
if(max < Integer.parseInt(String.valueOf(x))){
max = Integer.parseInt(String.valueOf(x));
}
}
context.write(key, new IntWritable(max));
}
Итак, что вы пытались и где вы застряли? Stackoverflow не является службой написания кода. –
Спасибо за ответ @ThomasJungblut, я отредактировал мой вопрос и добавил код картера и редуктора, у меня чего-то не хватает в реализации логики. – Qasim