我使用LZO压缩reduce输出。我尝试了这个:Kevin Weil的Hadoop-LZO项目,然后在我的作业中使用了
现在压缩已经正常工作。
我的问题是,压缩结果是一个无法解压缩的
Lzop实用程序似乎不支持这种类型的文件。
对这个问题的答案提出了Python解决方案,但我需要Java。
我正在使用Hadoop 1.1.2和Java 6。
LzoCodec
类。TextOutputFormat.setOutputCompressorClass(job, LzoCodec.class);
现在压缩已经正常工作。
我的问题是,压缩结果是一个无法解压缩的
.lzo_deflate
文件。Lzop实用程序似乎不支持这种类型的文件。
LzopCodec
应该生成一个.lzo
文件,但它没有起作用,然而它与LzoCodec
(org.apache.hadoop.io.compress
)在同一个包中,这可能涉及到兼容性问题,因为我使用旧的API(0.19)使压缩工作。对这个问题的答案提出了Python解决方案,但我需要Java。
我正在使用Hadoop 1.1.2和Java 6。
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/io/compress/LzopCodec
。我试图解决这个问题,直到我在某个地方读到LzoCodec更推荐使用。因此,在此之前应该明确这一点。 - Nadjib Mami/path/to/hadoop/bin/hadoop
文件中注释掉了JAVA_LIBRARY_PATH = ''
。我使用/path/to/hadoop/bin/hadoop classpath
命令检查了lzop库,lzop库是最后一个。它应该像LzoCodec一样工作。你有任何想法吗,@CharlesMenguy? - Nadjib Mamiexport HADOOP_CLASSPATH=
和export JAVA_LIBRARY_PATH=
),但结果相同。 - Nadjib Mami