Hadoop透明地处理压缩,但不分割LZO

时间:2012-04-19 20:58:46

标签: hadoop split lzo

看起来好像Hadoop在使用TextInputFormat时透明地处理压缩(这是在引入时,我不记得它在0.20.203上)。不幸的是,当使用LZO压缩时,Hadoop不使用LZO索引文件来使文件可拆分。但是,如果我将输入格式设置为com.hadoop.mapreduce.LzoTextInputFormat,则文件将被拆分。

是否可以配置Hadoop解压缩LZO文件并在使用TextInputFormat时将其拆分?

1 个答案:

答案 0 :(得分:0)

我刚遇到类似的问题,这是我的理解:

您想在代码中使用LzoTextInputFormat。如果要处理lzo和非lzo文件的混合,则应将lzo.text.input.format.ignore.nonlzo设置为false。在这种情况下,LzoTextInputFormat将用于所有lzo文件,但它将默认为TextInputFormat用于其他文件(它足够聪明,可以忽略索引文件)。

首次询问此问题时,此功能可能尚未出现,因此您可能已经了解此解决方案。

请参阅(有关于ignore.nonlzo的评论): https://github.com/twitter/hadoop-lzo/blob/master/src/main/java/com/hadoop/mapreduce/LzoTextInputFormat.java