2012-04-19 71 views
2

看起來Hadoop在使用TextInputFormat時看起來好像透明地處理壓縮(何時引入,我不記得它在0.20.203)。不幸的是,使用LZO壓縮時,Hadoop的不使用LZO索引文件,使文件可分開。但是,如果我設置輸入格式com.hadoop.mapreduce.LzoTextInputFormat,該文件被分割。Hadoop透明地處理壓縮但不能分割LZO

在使用TextInputFormat時,可以配置Hadoop來解壓縮LZO文件並將其拆分嗎?

+0

你有沒有得到Hadoop的使用默認@schmmd的LZO索引文件?我還在觀察CDH4.4.0這種行爲 – Andrew 2013-12-24 07:38:43

回答

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