JAVA类型 HADOOP类型
int IntWritable
float FloatWritable
long LongWritable
double DoubleWritable
string Text
boolean BooleanWritable
byte ByteWritable
map MapWritable
array ArrayWritable
为什么要序列化
存储“活的对象”
什么是序列化
序列化是把内存当中的对象,转换成字节序列以便于存储和网络传输
反序列化是把收到的字节序序列或者磁盘中的持久化数据,转换成内存中的对象。
java的序列化-》Serializable
为什么不用java的序列化提供的接口
java的序列化是一个重量级的序列化框架,一个对象被序列化后会额外携带很多信息(校验信息,header,继承体系等),不便于在网络中高效传输,所以hadoop开发了一套序列化机制(Writable),精简/高效。
为什么序列化在hadoop中很重要?
hadoop通信是通过远程调用(rpc)实现的,需要进行序列化
特点:
1)紧凑
2)快速
3)可拓展
4)互操作