Hadoop文件格式

1、Hadoop中文件格式大致分为面向行、面向列两种方式:

面向行:
同一行数据存储在一起,如SequenceFile、MapFile、Avro DataFile都是该存储方式,如果需要访问同行小部分数据,也需要将整行读入内存,所以该存储方式适合整行数据同时处理的情况。


面向列:
整个文件被切割成若干列数据,每列数据一起存储,RCFile、ORCFile都是该存储方式,读取数据时可以跳过不需要的列,但是该格式需要更多内存空间,因为需要缓存行在内存中,而且一旦写入失败,文件无法恢复。

2、SequenceFile

文件结构如下:
这里写图片描述
根据是否压缩,以及采用是记录压缩还是块压缩,存储格式不同:
1、不压缩:按照记录长度、Key长度、Key值、Value值依次存储,长度为字节数。
2、Record压缩:只有value值被压缩,压缩的codec保存到header中。
3、Block压缩:可以利用记录间的相似性,更节省空间,block前后加了同步标识,可设置block大小。

3、MapFile

SequenceFile加入索引并排序后就是MapFile,索引作为一个单独的文件存储,一般每128个记录存储一个索引,索引载入内存,用于快速查找。

4、RCFile
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值