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小组回答,仅供参考......