我是Map-reduce的新手,我想了解什么是序列文件数据输入?我在Hadoop书中学习过,但我很难理解。
答案 0 :(得分:43)
首先我们应该了解SequenceFile尝试解决的问题,然后SequenceFile如何帮助解决问题。
Map任务通常一次处理一个输入块(使用默认的FileInputFormat)。
文件数量越多,Map任务需要的数量就越多,作业时间就会慢得多。
这两种情况需要不同的解决方案。
HAR文件
<强> SequenceFile 强>
例如,假设有10,000个100KB文件,那么我们可以编写一个程序将它们放入一个像下面这样的SequenceFile中,在这里你可以使用filename作为键,将内容作为值。
SequenceFile File Layout http://img.blog.csdn.net/20151213123516719
一些好处:
支持的压缩,文件结构取决于压缩类型。
Record-Compressed:压缩添加到文件中的每条记录。 record_compress_seq http://img.blog.csdn.net/20151213182753789
块压缩 这里写图片描述 http://img.blog.csdn.net/20151213183017236