A. maprece中的wordcount將結果降序輸出
這個結果的排序是在sort階段,根據key來進行排序,Hadoop默認採用的是基本排序策略,你要想實現自己的排序演算法,得要自定義===》這是大體的思路。
下面是一個自定義的key2 ;
java">{
privateStringkey="";
privateintvalue=0;
publicMyText(){
}
publicMyText(Stringkey,intvalue){
this.key=key;
this.value=value;
}
@Override
publicvoidwrite(DataOutputout)throwsIOException{
out.writeUTF(key);
out.writeInt(value);
}
@Override
publicvoidreadFields(DataInputin)throwsIOException{
key=in.readUTF();
value=in.readInt();
}
@Override
publicintcompareTo(Objecto){
MyTextother=(MyText)o;
return-this.key.compareTo(other.key);
}
publicintCompareToValue(Objecto){
MyTextother=(MyText)o;
returnthis.value-other.value;
}
publicStringgetKey(){
returnkey;
}
publicvoidsetKey(Stringkey){
this.key=key;
}
publicintgetValue(){
returnvalue;
}
publicvoidsetValue(intvalue){
this.value=value;
}
}
這樣 就可以根據compareTo方法實現倒序排列,根據CompareToValue方法實現判斷值的大小,你再rece端進行下改寫,在cleanup的時候寫出就可以了~
Hadoop1小組回答,僅供參考......