亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Hadoop中Mapper類的setup函數在什么地方調用?

Hadoop中Mapper類的setup函數在什么地方調用?

慕田峪7331174 2018-11-28 15:11:57
Hadoop中Mapper類的setup函數在什么地方調用
查看完整描述

1 回答

?
慕姐8265434

TA貢獻1813條經驗 獲得超2個贊

Hadoop中Mapper類的setup函數在什么地方調用
答:經過跟蹤hadoop源碼發現,Mapper類的setup()函數在Mapper類的run()函數中被調用。
向hadoop提交job后,hadoop會在MapTask的runNewMapper()或者runOldMapper()函數中使用反饋機制實例化具體的Mapper子類,然后調用這個對象的run()函數,其中setup()函數就在這個函數的開始被調用,因為hadoop會向setup()函數中傳遞Configuration等一些變量,所以我們可以通過重載setup()函數來獲得系統變量實現自己的功能。
[java] view plaincopy
/**
* Expert users can override this method for more complete control over the
* execution of the Mapper.
* @param context
* @throws IOException
*/
public void run(Context context) throws IOException, InterruptedException {
setup(context);//只運行一次,可以重載實現自己的功能,比如獲得Configuration中的參數
while (context.nextKeyValue()) {
map(context.getCurrentKey(), context.getCurrentValue(), context);
}
cleanup(context);



查看完整回答
反對 回復 2018-12-08
  • 1 回答
  • 0 關注
  • 1017 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號