Hadoop(11)hadoop常用可序列化类型
Hadoop常用可序列化类型
hadoop
没有沿用java
当中基本的数据类型,而是自己进行封装了一套数据类型,其自己封装的类型与java
的类型对应如下
表4-1 常用的数据类型对应的Hadoop
数据序列化类型
Java类型 | Hadoop Writable类型 |
---|---|
Boolean | BooleanWritable |
Byte | ByteWritable |
Int | IntWritable |
Float | FloatWritable |
Long | LongWritable |
Double | DoubleWritable |
String | Text |
Map | MapWritable |
Array | ArrayWritable |
byte[] | BytesWritable |
- 序列化就是把内存中的对象,转换成字节序列(或其他数据传输协议)以便于存储到磁盘(持久化)和网络传输。
- 反序列化就是将收到字节序列(或其他数据传输协议)或者是磁盘的持久化数据,转换成内存中的对象。
Java
的序列化(Serializable
)是一个重量级序列化框架,一个对象被序列化后,会附带很多额外的信息(各种校验信息,header,继承体系…),不便于在网络中高效传输;所以,hadoop
自己开发了一套序列化机制(Writable
),精简,高效。不用像 java
对象类一样传输多层的父子关系,需要哪个属性就传输哪个属性值,大大的减少网络传输的开销。