摘要: SequeceFile是Hadoop API提供的一种二进制文件支持。这种二进制文件直接将<key, value>对序列化到文件中。一般对小文件可以使用这种文件合并,即将文件名作为key,文件内容作为value序列化到大文件中。这种文件格式有以下好处:1)支持压缩,且可定制为基于Record或Block压缩(Block级压缩性能较优) 2)本地化任务支持:因为文件可以被切分,因此MapReduce任务时数据的本地化情况应该是非常好的。 3)难度低:因为是Hadoop框架提供的API,业务逻辑侧的修改比较简单。坏处是需要一个合并文件的过程,且合并后的文件将不方便查看。Sequence 阅读全文
posted @ 2011-09-16 19:31 glose 阅读(1933) 评论(0) 推荐(1) 编辑
摘要: 1.对于某些应用而言,需要特殊的数据结构来存储自己的数据。对于基于MapReduce的数据处理,将每个二进制数据的大对象融入自己的文件中并不能实现很高的可扩展性,针对上述情况,Hadoop开发了一组更高层次的容器SequenceFile。 2. 考虑日志文件,其中每一条日志记录是一行文本。如果想记录二进制类型,纯文本是不合适的。这种情况下,Hadoop的SequenceFile类非常合适,因为上述提供了二进制键/值对的永久存储的数据结构。当作为日志文件的存储格式时,可以自己选择键,比如由LongWritable类型表示的时间戳,以及值可以是Writable类型,用于表示日志记录的数量。Seq. 阅读全文
posted @ 2011-09-16 19:20 glose 阅读(2245) 评论(1) 推荐(0) 编辑