MapReduce中WritableComparable该接口实现了Writable和Comparable接口,而Writable接口中定义了
readFields(DataInput in)方法和write(DataOutput out)
方法,分别用来实现序列化和反序列化,而Comparable接口中定义了compareTo方法,该方法用来重写shuffle过程中对key的排序,因此如果想要让自定义的类作为map方法中的输出的key,必须让自定义方法实现WritableComparable接口,如果仅仅让自定义类作为map端输出的value,则可以仅仅实现Writable接口不实现Comparable接口。