首页 > 代码库 > [译]SequenceFile、MapFile、SetFile、ArrayFile、BloomMapFile
[译]SequenceFile、MapFile、SetFile、ArrayFile、BloomMapFile
Apache Hadoop的SequenceFile提供了一种把数据以二进制key-value对的形式保存到hdfs上的方式。跟其他key-value
数据结构相比(比如B-Tree),SequenceFile不能修改、删除数据,也不能在数据中间插入数据。SequenceFile只能往尾
部追加数据。
SequenceFile提供了三种存储形式:
1.Uncompressed Format :无压缩格式2.Record Compressed :记录压缩格式3.Block Compressed :块压缩格式
这三种存储格式的header部分都是相同的。他们header部分都包含如下信息,这些信息将被SequenceFile.Reader读取。
1.header部分包括key和value的class类型,SequenceFile.Reader会通过读取这两个属性并通过反射将其实例化;2.version包括sequenceFile的version信息;3.Is Compressed用来指定是否是Record Compressed;4.Is Block Compressed用来指定是否是Block Compressed
5.MetaData是一个key-value的列表结构,可以用来存储文件的元数据。key-value对只能是<Text,Text>类型的。而且该信息
是在SequenceFile.Writer的构造方法写入的。无法修改。
6.
未完待续。。。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。