看起来好像Hadoop在使用TextInputFormat
时透明地处理压缩(这是在引入时,我不记得它在0.20.203上)。不幸的是,当使用LZO压缩时,Hadoop不使用LZO索引文件来使文件可拆分。但是,如果我将输入格式设置为com.hadoop.mapreduce.LzoTextInputFormat
,则文件将被拆分。
是否可以配置Hadoop解压缩LZO文件并在使用TextInputFormat
时将其拆分?
答案 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