Hadoop序列化

a 夏天 提交于 2020-02-11 22:56:59

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

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

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

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

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

在这里插入图片描述

四.自定义对象序列化

  • 必须有空参构造器,反射要调用。
  • 实现Writable接口并且重写write和readFields方法。
    • write什么时候调用:map阶段由内存向磁盘上写时。
    • readFields什么时候调用:reduce阶段由map的磁盘向reduce内存中读取的时。
  • 重写toString 最终文件中输出的形式。
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!