hadoop Caused by: java.lang.ClassCastException

使用hadoop进行排序时报如下错误:Caused by: java.lang.ClassCastException

 

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;
	}

 

上一篇:Caused by: java.util.ConcurrentModificationException: null fastjson


下一篇:putty中断问题:putty network error software caused connection abort