在hadoop的源碼中,基類Mapper類和Reducer類中都是只包含四個方法:setup方法,cleanup方法,run方法,map方法。如下所示:
其方法的調用方式是在run方法中,如下所示:
可以看出,在run方法中調用了上面的三個方法:setup方法,map方法,cleanup方法。其中setup方法和cleanup方法默認是不做任何操作,且它們只被執行一次。但是setup方法一般會在map函數之前執行一些准備工作,如作業的一些配置信息等;cleanup方法則是在map方法運行完之后最后執行 的,該方法是完成一些結尾清理的工作,如:資源釋放等。如果需要做一些配置和清理的工作,需要在Mapper/Reducer的子類中進行重寫來實現相應的功能。map方法會在對應的子類中重新實現,就是我們自定義的map方法。該方法在一個while循環里面,表明該方法是執行很多次的。run方法就是每個maptask調用的方法。