Hadoop序列化

一.为什么要序列化与反序列化

保证各种类型的数据在内存与磁盘,进程与进程间正确的识别。

二.Hadoop为什么要自定义序列化接口

因为大数据往往传输的数据量巨大,而且java序列化完整而且臃肿。所以为了减少资源的占用。hadoop根据java序列化精简了适用于大数据的序列化框架。

三.已经实现了的序列化的类型

Hadoop序列化

四.自定义对象序列化

  • 必须有空参构造器,反射要调用。
  • 实现Writable接口并且重写write和readFields方法。
    • write什么时候调用:map阶段由内存向磁盘上写时。
    • readFields什么时候调用:reduce阶段由map的磁盘向reduce内存中读取的时。
  • 重写toString 最终文件中输出的形式。