您好,登錄后才能下訂單哦!
這篇文章主要介紹了Hadoop中mapred包和mapreduce包有什么區(qū)別,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
#區(qū)別
mapred代表的是hadoop舊API,而mapreduce代表的是hadoop新的API
新的API傾向于使用抽象類,而不是接口,使用抽象類更容易擴展。例如,我們可以向一個抽象類中添加一個方法(用默認的實現)而不用修改類之前的實現方法。因此,在新的API中,Mapper和Reducer是抽象類。
新的API廣泛使用context object(上下文對象),并允許用戶代碼與MapReduce系統進行通信。例如,在新的API中,MapContext基本上充當著JobConf的OutputCollector和Reporter的角色。
新的API統一了配置。舊的API有一個特殊的JobConf對象用于作業(yè)配置,這是一個對于Hadoop通常的Configuration對象的擴展。在新的API中,這種區(qū)別沒有了,所以作業(yè)配置通過Configuration來完成。作業(yè)控制的執(zhí)行由Job類來負責,而不是JobClient,并且JobConf和JobClient在新的API中已經蕩然無存。這就是上面提到的,為什么只有在mapred中才有Jobconf的原因。
新的API同時支持"推"和"拉"式的迭代。在這兩個新老API中,鍵/值記錄對被推mapper中,但除此之外,新的API允許把記錄從map()方法中拉出,這也適用于reducer。分批處理記錄是應用"拉"式的一個例子(求高手指點?)
感謝你能夠認真閱讀完這篇文章,希望小編分享的“Hadoop中mapred包和mapreduce包有什么區(qū)別”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業(yè)資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。