hadoop中的数据序列化及数据类型

44 篇文章 0 订阅
21 篇文章 0 订阅
序列化是干什么用的?本质上讲,就是数据保存到虚拟机之外,然后又被读到虚拟机内.如果仅仅是保存,不关心能读进jvm的话,就不关心序列化问题了.正是因为需要被读进jvm,所以必须识别写出、读入的数据格式、字符顺序等问题。因此序列化也就是比较重视的事情了。拿密码来打比方。序列化就像加密,反序列化就像解密。只加密不解密那肯定是不行的。hdfs作为分布式存储系统必然涉及到序列化问题。

 

    hdfs中需要序列化的数据必须实现Writable接口,就像在java序列化中必须实现java.io.Serializable接口一样.

 

    hdfs中的各种数据类型都是需要序列化的,因此都实现了Writable接口。常用的数据类型包括IntWritable、LongWritable、Text、ArrayWritable等,就像java中的int、long、String、Array一样,大部分都是基本数据类型。这些基本类型构成了mapreduce运算的基本类型。

 

    就像java中有集合Arrary、List、Set、Map一样,在hdfs也有ArrayFile、SequenceFile、ArrayFile、MapFile与之对应。

 

    学习hdfs时,要注意学习基本数据类型和集合操作,这是进行mapreduce计算的基础组成。只有把数据类型搞清楚了,再学好MapReduce的算法模型,hadoop就基本搞定了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值