首页 > 代码库 > [译]SequenceFile、MapFile、SetFile、ArrayFile、BloomMapFile

[译]SequenceFile、MapFile、SetFile、ArrayFile、BloomMapFile

  Apache Hadoop的SequenceFile提供了一种把数据以二进制key-value对的形式保存到hdfs上的方式。跟其他key-value

数据结构相比(比如B-Tree),SequenceFile不能修改、删除数据,也不能在数据中间插入数据。SequenceFile只能往尾

部追加数据。

Header-horizontalline

  SequenceFile提供了三种存储形式:

1.Uncompressed Format    :无压缩格式2.Record Compressed      :记录压缩格式3.Block Compressed       :块压缩格式

这三种存储格式的header部分都是相同的。他们header部分都包含如下信息,这些信息将被SequenceFile.Reader读取。

Header-horizontalline

 

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的构造方法写入的。无法修改。
  Metadata
6.

 

未完待续。。。