public interface WritableComparable<T> extends Writable, Comparable<T> { }
Hadoop 并无使用 JAVA 的序列化,而是引入了本身实的序列化系统, package org.apache.hadoop.io 这个包中定义了大量的可序列化对象,这些对象都实现了 Writable 接口, Writable 接口是序列化对象的一个通用接口 .
咱们来看下Writable 接口的定义。java
public interface Writable{ void write(DataOutput out) throws IOException; void readFields(DataInput in) throws IOException; }
Writable接口抽象了两个序列化的方法Write和ReadFields,分别对应了序列化和反序列化,参数DataOutPut 为java.io包内的IO类,Writable接口只是对象序列化的一个简单声明。apache
WriteCompareable接口oop
WriteCompareable接口是Wirtable接口的二次封装,提供了compareTo(T o)方法,用于序列化对象的比较的比较,下面是io包简单的类图关系。spa