Bunu yapmanın en iyi yolu, ilk MapReduce işinizin çıktısını Sort.java olarak adlandırdığım başka bir işin girdisi olarak kullanmaktır. Hadoop Map fonksiyonunun yerinde bir sıralama algoritması bulunduğundan, bir azaltma sınıfına bile ihtiyacınız yoktur. Sadece böyle bir şey yapmak: LongWritable değerine göre ilk MapReduce adresini [LongWritable, metin] çıkışını sıralanır
public static class Map extends Mapper<LongWritable,Text,IntWritable,Text>{
private Text word = new Text();
public void map(LongWritable key, Text value, Context context) throws IO Exception, Interrupted Exception{
String line = value.toString();
StringTokenizer tokenizer = new StringTokenizer(line);
word.set(tokenizer.nextToken());
IntWritable number = new IntWritable(Integer.parseInt(tokenizer.nextToken()));
context.write(number,word);
}
}
. Nasıl çalıştığını bana bildirin!
CL
ben bilgilendirici kadarıyla zaten saygı ile Hadoop tarafından yaptıklarından olarak tasnif için bu bağlantıyı bulundu
: https://pkghosh.wordpress.com/2011/04/13/map-reduce-secondary-sort- does-it-all/ –