序列化是指将一个对象编码成字节流,之后从字节流中重构对象;

为什么需要序列化?

答:用序列化接口可以将对象实例从存储到本地文件或者传送到网络的另一端的节点上;

序列化过程:

序列化的三种主要用途:

  1.作为一种持久化的格式

  2. 一种网络节点间通信的数据格式

  3. 拷贝和克隆

hadoop的序列化机制:

调用write()方法将对象序列化到流中,调用readFile()方法进行反序列化;

java序列化和hadoop序列化的主要区别:

  java序列化后的对象不能复用,故在反序列化过程中不断创建新对象

  hadoop序列化后的对象可以复用,故反序列化过程中可以复用对象,可以得到一个序列化后的对象的多个反序列化后的结果

  hadoop的序列化机制减少了对java对象的分配和回收,提高了应用效率;

hadoop序列化机制的优势:

  1.紧凑:Hadoop中最稀缺的资源是宽带,所以紧凑的序列化机制可以充分的利用宽带。

  2.快速:通信时大量使用序列化机制,因此,需要减少序列化和反序列化的开销。

  3.可扩展:随着通信协议的升级而可升级。

  4.互操作:支持不同开发语言的通信。

Hadoop 序列化机制:

  Hadoop通过Writable接口实现的序列化机制。

  接口提供两个方法,write和readFiles。

  Hadoop还包含另外几个重要的序列化接口,WritableCompareable、RawComparator、WritableComparator。

最新文章

  1. [Computational Advertising] 计算广告学笔记之基础概念
  2. python 列表常用操作
  3. 表格制作模块xlwt
  4. ios取证
  5. .net中如何使用cookie
  6. PostgreSQL Replication之第十二章 与Postgres-XC一起工作(3)
  7. 17_高级映射:一对一查询(使用resultType)
  8. zoj 3757 Alice and Bob and Cue Sports 模拟
  9. 【July】从头到尾彻底理解KMP
  10. Linux 压缩解压及备份命令
  11. POJ 3279 枚举(思维)
  12. 关于IOS的屏幕适配(iPhone)——资源适配
  13. bootstrap模态框modal使用remote动态加载内容,第二次加载显示相同内容解决办法
  14. Eclipse进度条出现“Remote System Explorer Operation”解决方法
  15. 【待完成】[MapReduce_9] MapReduce 的 Shuffle 机制
  16. Linux 小知识翻译 - 「克隆」
  17. Css3实现常用的几种loading动画
  18. php 建站 多域名配置 自定义重定向
  19. Unity里vertexShader里压扁模型来实现比较low的阴影
  20. LeetCode——Palindrome Linked List

热门文章

  1. 移动前端开发之viewport的深入理解(转载)
  2. java集合 collection-list-LinkedList
  3. Java实战之02Hibernate-04多表映射
  4. <<深入Java虚拟机>>-第三章-垃圾收集器与内存分配策略-学习笔记
  5. mysql---字符集详解
  6. lsof作用
  7. IE兼容性问题
  8. Struts2 Annotation 默认返回Tiles2布局
  9. C#调用金数据API
  10. Websocket协议数据帧传输和关闭连接