如果我們將MR作業配置爲僅使用單個還原器運行,則不需要調用分區器。爲什麼即使使用單個還原器也會調用分區器
但是我只是給了這個鏡頭,即使作業配置了一個簡化器,它看起來也會調用分區器。
任何想法,爲什麼這將是必需的?
如果我們將MR作業配置爲僅使用單個還原器運行,則不需要調用分區器。爲什麼即使使用單個還原器也會調用分區器
但是我只是給了這個鏡頭,即使作業配置了一個簡化器,它看起來也會調用分區器。
任何想法,爲什麼這將是必需的?
這是因爲將鍵/值對分配給特定的縮減器是由扮演分區器角色的類負責的。即使只有一個減速,你仍然需要一個分區的鍵/值對分配到一個減速。
任何默認值或if-there-only-one-reducer邏輯的存在都會有效地將分區分配行爲分配到分區程序之外的地方,這不是非常好的OO設計。
在大多數情況下,即使您只有1個reducer,也不會調用分區程序。但是,如果一個異常被拋出或程序崩潰的另一個原因是,不調用分區可以隱藏在你的程序中的錯誤,授予這是一個有點做作,因爲可能你在分區找到任何錯誤會很容易找到其他地方。由於非常低的成本來調用它沒有理由不,實在不叫無利。
當你寫下「你還需要一個reducer分配」時,你的意思是說「你還需要一個**分區器**來分配」right? – Sudarshan
@Sudarshan是。糾正。 thx –