SequenceFile格式:
每一个SequenceFile都包含一个“头”(header)。Header包含了以下几部分。
1.SEQ三个字母的byte数组
2.Version number的byte,目前为数字3的byte
3.Key和Value的类名
4.压缩相关的信息
5.其他用户定义的元数据
6.同步标记,sync marker
对于每一条记录(K-V),其内部格式根据是否压缩而不同。SequenceFile的压缩方式有两种,“记录压缩”(record compression)和“块压缩”(block compression)。如果是记录压缩,则只压缩Value的值。如果是块压缩,则将多条记录一并压缩,包括Key和Value。具体格式如下面两图所示: