2013-07-31 83 views
2

我是Hadoop中的新成員。這次我正在實現輸入關鍵字的字數計數器。此外,我讀了使用Job類比JobConf更好。所以我有這樣的代碼爲主類:Hadoop。如何從Mapper獲得作業


... 
Configuration conf = new Configuration(); 
conf.set("keyword", args[0]); 
Job job = new Job(conf); 
... 

那麼我怎麼能讓我的關鍵字Mapper回來?據我所知,我需要得到我的Job對象和從Job得到Configuration對象使用getConfiguration()方法和比調用get("keyword")方法。

但我如何從Mapper類獲得Job

感謝您的時間。

回答

1

當您的Mapper實現上調用map時,它會傳遞一個公開getConfiguration方法的Context對象。這會給你你想要的。

+0

是。非常感謝你! 'Job'確實比'JobConf'更好,或者我錯了嗎? –

+2

JobConf不贊成使用較新的配置類型,所以如果可以的話,您應該使用它來代替JobConf。 – tuckermi

+1

作業是新API的一部分,JobConf已被棄用 – Chaos

1

您用來在conf中設置參數的代碼看起來沒問題。

從映射功能,這是你需要做的:

Configuration conf = context.getConfiguration(); 
String keyword = conf.get("keyword");