2015-11-10 30 views
0

在Hadoop MapReduce中,中間輸出(地圖輸出)保存在本地磁盤中。我想知道是否可以在reduce階段開始一項工作,從本地磁盤讀取mapoutput,對數據進行分區並執行reduce任務?僅僅是減速階段的工作?

回答

3

Mapper的一個基本實現叫做IdentityMapper,它基本上將所有的鍵值對傳遞給一個Reducer。

  • Reducer將由不同映射器生成的輸出作爲pair讀取併發出鍵值對。
  • Reducer的工作是處理來自映射器的數據。
  • 如果MapReduce程序員不使用JobConf.setMapperClass設置Mapper類,那麼IdentityMapper.class被用作默認值。

你不能只運行異徑沒有任何映射器..

+0

我無法找到身份映射器的任何實例。我使用了Google,或者使用github。你能指點我嗎? – xeon

0

映射reduce對HDFS中的數據起作用。所以我不認爲你可以寫Reducer only map reduce從本地磁盤讀取

0

如果你使用Hadoop的數據流,你可以添加:

-mapper "/bin/sh -c \"cat\"" 
相關問題