Hadoop序列化
一.为什么要序列化与反序列化
保证各种类型的数据在内存与磁盘,进程与进程间正确的识别。
二.Hadoop为什么要自定义序列化接口
因为大数据往往传输的数据量巨大,而且java序列化完整而且臃肿。所以为了减少资源的占用。hadoop根据java序列化精简了适用于大数据的序列化框架。
三.已经实现了的序列化的类型
四.自定义对象序列化
- 必须有空参构造器,反射要调用。
- 实现Writable接口并且重写write和readFields方法。
- write什么时候调用:map阶段由内存向磁盘上写时。
- readFields什么时候调用:reduce阶段由map的磁盘向reduce内存中读取的时。
- 重写toString 最终文件中输出的形式。