看起來Hadoop在使用TextInputFormat
時看起來好像透明地處理壓縮(何時引入,我不記得它在0.20.203)。不幸的是,使用LZO壓縮時,Hadoop的不使用LZO索引文件,使文件可分開。但是,如果我設置輸入格式com.hadoop.mapreduce.LzoTextInputFormat
,該文件被分割。Hadoop透明地處理壓縮但不能分割LZO
在使用TextInputFormat
時,可以配置Hadoop來解壓縮LZO文件並將其拆分嗎?
看起來Hadoop在使用TextInputFormat
時看起來好像透明地處理壓縮(何時引入,我不記得它在0.20.203)。不幸的是,使用LZO壓縮時,Hadoop的不使用LZO索引文件,使文件可分開。但是,如果我設置輸入格式com.hadoop.mapreduce.LzoTextInputFormat
,該文件被分割。Hadoop透明地處理壓縮但不能分割LZO
在使用TextInputFormat
時,可以配置Hadoop來解壓縮LZO文件並將其拆分嗎?
我只是運行到類似的問題,這是我的理解:
你想在你的代碼中使用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
你有沒有得到Hadoop的使用默認@schmmd的LZO索引文件?我還在觀察CDH4.4.0這種行爲 – Andrew 2013-12-24 07:38:43