hadoop中的序列化

本文探讨了序列化和反序列化的基本概念,对比了Hadoop序列化与Java序列化机制的区别,阐述了Hadoop序列化的特点,包括紧凑、快速、可扩展和互操作性,解释了为什么Hadoop不采用Java的序列化机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

序列化:序列化就是把内存的对象,转换成为字节序列(或者是其他的数据传输协议)以便于存储到磁盘(持久化)和网络传输。
反序列化:就是将收到的字节序列(或者其他的数据传输协议)或者是磁盘的持久化数据,转换成内存中的对象。

为什么要进行序列化:因为序列化后可以很方便的存储或者在网络中传输(不进行序列化的话无法将本地的数据通过网络发送到另一台计算机上)。从服务器硬盘上把序列化的对象取出,然后通过网络传到客户端,再由客户端把序列化的对象读入内存,执行相应的处理。

hadoop文件的序列化为什么不采用java的序列化机制?
(1)java的序列化机制在每个类的对象第一次出现的时候保存了每个类的信息,比如类名,第二次出现类对象的时候会有一个类的详细信息,导致空间上面的浪费。
(2)java的序列化机制不能复用对象,并且java反序列化的时候每次都要构造出新的对象,在hadoop的序列化机制中,反序列化的对象是可以复用的。

hadoop序列化的特点:

(1)紧凑,紧凑的格式可以提高传输效率,充分利用网络带宽,因为网络的带宽是数据的一种非常总要的资源。
(2)快速,读写数据的额外开销小。
(3)可扩展,通信协议为了满足一些新的需求,比如在方法调用的过程总增加了新的参数,或者新的服务器系统要能够接受老客户端的旧格式消息,hadoop的这种可扩展型就可以满足这种需求。
(4)互操作:支持多语言的交互。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值