1. 程式人生 > >MapReduce階段map的setup() 和cleanup()

MapReduce階段map的setup() 和cleanup()

setup()
此方法被MapReduce框架僅且執行一次,在執行Map任務前,進行相關變數或者資源的集中初始化工作。若是將資源初始化工作放在方法map()中,導致Mapper任務在解析每一行輸入時都會進行資源初始化工作,導致重複,程式執行效率不高!
cleanup()
此方法被MapReduce框架僅且執行一次,在執行完畢Map任務後,進行相關變數或資源的釋放工作。若是將釋放資源工作放入方法map()中,也會導致Mapper任務在解析、處理每一行文字後釋放資源,而且在下一行文字解析前還要重複初始化,導致反覆重複,程式執行效率不高!

所以,建議資源初始化及釋放工作,分別放入方法setup()和cleanup()中進行