使用hadoop进行排序时报如下错误:Caused by: java.lang.ClassCastException
原因是因为在你在自己定义的 XXXWritable类中实现的是 Writable 接口,而如果要排序,则需要实现WritableComparable接口
将key作为排序键
再在类中重写如下方法即可:
@Override
public int compareTo(JDKeyWritable arg0) {
if(this.equals(arg0))
return 0;
if(this.getName().hashCode()>arg0.getName().hashCode()) #这里的getName是自己类中属性,用于进行hasdCode大小的比较以便进行排序
return 1;
return -1;
}