1.序列化简介
(1)什么是序列化
序列化就是把内存中的对象,转换成字节序列(或其他的据传输协议)方便存储(持久化的)到磁盘中和网络传输
反序列化就是将收到的字节序列转换成内存中的对象
(2)为什么要序列化
在工作当中,"正在运行"的对象只能在内存里,断电关机后就不会继续运行或者存在,而且只能在本地的进程中使用们不能被发送到网络上的另一台计算机上.而序列化可以存储"正在运行"对象,并且可以发送到远程计算机上
(3)为什么不用java序列化
java序列化可以理解为是一个非常重量级序列化框架(Serializable),当一个对象被序列化后同时会携带大量的额外的信息(校验信息,Header,继承体等),不方便在网络中高效的传输使用,Hadoop序列化(Writable)解决了这一问题
(4)Hadoop序列化特点:
1)紧凑 :高效使用存储空间。
2)快速:读写数据的额外开销小。
3)互操作:支持多语言的交互