我听说我们可以使用多个映射器在Hadoop中并行读取一个bzip2文件的不同部分,以提高性能。但搜索后我找不到相关的样本。感谢是否有人可以指向相关的代码段。感谢。
BTW:gzip具有相同的功能(多个映射器并行处理一个gzip文件的不同部分)。答案 0 :(得分:3)
如果你看一下:http://comments.gmane.org/gmane.comp.jakarta.lucene.hadoop.user/30662, 你会发现bzip2格式确实是可拆分的,多个映射器可以在一个文件上工作。补丁是在https://issues.apache.org/jira/browse/HADOOP-4012提交的。但是,它似乎仅在HADOOP 0.21.0之上可用。
从个人经验来看,为了使用这种bzip2技术,你不需要做任何不同的事情。 hadoop应该根据你的最小分割大小自动拾取它。
bzip2按块压缩数据,因此可以在块中解压缩并将每个块发送到单独的映射器。但是,gzip没有这样的技术,因此无法将其发送给不同的映射器。
答案 1 :(得分:2)