Hadoop有自己的数据类型,这是因为MapReduce是基于磁盘的计算框架,会产生大量的磁盘IO,从而产生大量的系列化、反系列化操作,而JAVA自带的Serializable是一个繁杂的完整框架,直接使用它对本就耗费资源的MR来说无疑是雪上加霜,因此Hadoop有着自己的数据类型,分为内建类型和用户自定义类型
一、内建类型
 BooleanWritable:标准布尔型数值
 ByteWritable:单字节数值
 DoubleWritable:双字节数值
 FloatWritable:浮点数
 IntWritable:整型数
 LongWritable:长整型数
 Text:使用UTF8格式存储的文本
 NullWritable:当<key, value>中的key或value为空时使用二、用户自定义
 实现WritalbeComparable或Writalbe接口即可
 但是注意,如果你的自定义类型是要放在value上那么两个接口实现那个都行,但是如果你要放在key上那么必须实现WritalbeComparable,不然MR分组排序会因为没有比较方法而报错,同时这也是多级排序的实现方法