現在我有一個4相MapReduce工作如下:鏈接多減速器在一個Hadoop MapReduce工作
Input-> Map1 -> Reduce1 -> Reducer2 -> Reduce3 -> Reduce4 -> Output
我注意到有ChainMapper
類的Hadoop其中可以鏈接一些映射器變成一個大映射器,並保存映射階段之間的磁盤I/O成本。還有一個ChainReducer
類,但它不是一個真正的「鏈減速器」。它只能支持這樣的工作:
[Map+/ Reduce Map*]
我知道我可以設置4點MR的工作爲我的任務,在過去的三年工作使用默認映射器。但是這會花費大量的磁盤I/O,因爲縮減器應該將結果寫入磁盤以讓後續的映射器訪問它。是否有其他Hadoop內置功能來鏈接我的減速器以降低I/O成本?
我正在使用Hadoop 1.0.4。
如果可能的話,我也會對此非常感興趣。 –