我有一个使用 Hadoop 1.0.0 的集群,我想运行一个 MR 作业来处理巨大的 bz2 文件。在版本 0.21.0 中,Bz2 编解码器支持输入文件的拆分,但是我在 1.0.0 中找不到此功能。在 1.0.0 中是否有任何等效的拆分 bz2 输入?或者我应该为此手动应用 0.21.0 的补丁?
最佳答案
Hadoop 的 1.x 版本还不支持任何可拆分的压缩编解码器。 它确实支持 Bzip2,但不可拆分。 这取决于这个问题 https://issues.apache.org/jira/browse/HADOOP-7823 目前看起来该功能将出现在 Hadoop 1.1.0 中
解决此问题的最简单方法是查看目前处于测试阶段的 cloudera 包装 cdh4。它有最新的 Bzip2 实现,可以进行拆分。
引用:
Hadoop 1.0.0 API:
http://hadoop.apache.org/common/docs/r1.0.0/api/org/apache/hadoop/io/compress/BZip2Codec.html
public class BZip2Codec
extends Object
implements CompressionCodec
Hadoop 0.23.1(据我所知将是 Hadoop 2.x)API:
http://hadoop.apache.org/common/docs/r0.23.1/api/org/apache/hadoop/io/compress/BZip2Codec.html
public class BZip2Codec
extends Object
implements SplittableCompressionCodec
关于hadoop - Hadoop 1.0.0 中的可拆分 Bz2 输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10397022/