Hadoop 1.0.0中的可拆分Bz2输入

时间:2012-05-01 11:28:27

标签: hadoop bzip2

我有一个使用Hadoop 1.0.0的集群,我想运行一个处理大量bz2文件的MR作业。在版本0.21.0中,Bz2编解码器支持分割输入文件,但是我在1.0.0中找不到此功能。有没有相当于在1.0.0中拆分bz2输入?或者我应该手动应用0.21.0的补丁吗?

4 个答案:

答案 0 :(得分:2)

1.x版本的Hadoop尚不支持任何可拆分压缩编解码器。 它确实支持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(AFAIK将是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 

答案 1 :(得分:0)

可以找到BZip2 Codec API here

答案 2 :(得分:0)

您可以尝试使用Pig,它提供了Hadoop缺少的1.0.0功能。 Pig会分割输入文件。

答案 3 :(得分:-2)

您可以使用org.apache.hadoop.io.compress.BZip2Codec进行输入拆分。