hadoop2.2原理: 序列化浅析

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

为什么需要序列化?

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

序列化过程:

 

序列化的三种主要用途:

  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。

转载于:https://my.oschina.net/u/1169079/blog/225077

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值