[英]How to set multi-reducers for Hadoop Program in IntelliJ IDEA?
[英]Chaining Multi-Reducers in a Hadoop MapReduce job
現在我有一個4階段MapReduce作業如下:
Input-> Map1 -> Reduce1 -> Reducer2 -> Reduce3 -> Reduce4 -> Output
我注意到Hadoop中有ChainMapper
類,可以將多個映射器鏈接到一個大映射器,並在映射階段之間保存磁盤I / O成本。 還有一個ChainReducer
類,但它不是真正的“減速器”。 它只能支持以下工作:
[Map+/ Reduce Map*]
我知道我可以為我的任務設置四個MR作業,並使用默認的映射器來完成最后三個作業。 但是這將耗費大量磁盤I / O,因為reducers應該將結果寫入磁盤,讓以下映射器訪問它。 是否還有其他Hadoop內置功能可以將我的Reducer連接起來以降低I / O成本?
我正在使用Hadoop 1.0.4。
我不認為你可以將減速器的o / p 直接給予另一個減速器。 我會為此而去:
Input-> Map1 -> Reduce1 ->
Identity mapper -> Reducer2 ->
Identity mapper -> Reduce3 ->
Identity mapper -> Reduce4 -> Output
在Hadoop的2.X系列,內部可以用減速后ChainMapper和鏈映射器減速前鏈映射器ChainReducer 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.