大数据之Hadoop(MapReduce):Hadoop序列化

本文探讨了序列化的基本概念,包括为何要进行序列化,以及Java序列化存在的问题。指出Java序列化携带过多额外信息,不适用于高效传输,因此Hadoop开发了自己的序列化机制。Hadoop序列化具有紧凑、快速、可拓展和互操作性的特点,仅保存对象的必要信息,如示例中Person对象仅保留名字和年龄。

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

1.序列化概述

1.1.什么是序列化

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

1.2.为什么要序列化

一般来说:“活的”对象只生存在内存里,只能有本地进程使用(断电,不能发送到另一台计算机),而序列化解决了这个问题;序列化可以存储"活的"对象,可以将“活的”对象发送到远程计算机;

1.3.为什么不用java的序列化

java的序列化框架是Serializable,一个对象被序列化后,会附带很多额外的信息(),不方便高效传输,所以Hadoop自己开发了一套序列机制;
Hadoop序列化的特点:
紧凑,快速,可拓展,互操作;
Hadoop序列化时没有序列化类的信息,只是把对象的必要信息序列化。
举例
比如现在有一个Person类 p对象
,内容为Name tom age 18 , 用hadoop序列化只剩下Tom,18 ;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值