2013-10-23 63 views
5

我不得不MapReduce和hadoop.I知道一個簡單的迭代的MapReduce程序,知道一個映射器,減速機,洗牌是什麼.. 兩個相關概念的懷疑,但仍希望瞭解以下問題何時使用身份映射器/減速器?

1 )什麼時候迭代映射減少完成?

2)我知道身份映射器/減速器給出輸入相同的輸入。 但是我們什麼時候使用身份映射器/縮減器?

+0

這可能是最好的問題,作爲兩個單獨的問題。 –

+0

身份圖是指單獨地圖嗎? –

回答

2

1)迭代MR算法的一個例子是Dijkstra的最短路徑算法。在每次迭代中,探索所有活動節點的最近鄰居,減少階段用於檢查目的地節點是否已經到達。其他的例子是Facebook的朋友的朋友(FoF)算法找到建議新朋友。

2)身份映射使用可用於(除其他外!)如果你只會想排序輸入。一個身份縮減器可用於例如實現尷尬的並行算法其中你只是使用映射器來執行並行任務,但你希望輸出鍵值對進行排序。

希望這讓你在路上。

請注意,除了身份縮減器,您還可以設置NO減少器(然後映射輸出未排序)。

+0

使用身份縮減器無法完成訂單分區(完整分類)。它只是對各個reducer記錄進行排序。另一個用例是將輸出合併到單個文件中(通過指定單個縮減器)映射器的輸出數據。 – Ashish

+0

您似乎混淆了(或者錯誤地表達)了一些東西:如果您使用全部命令分區程序,那麼如果不使用分區程序,則輸出將按照減少任務進行排序,但通常不會對輸出進行完全排序。 – DDW

+0

我說過同樣的事情:-)你可以說它是一種分組(相同的鍵在一起),我們可以使用身份縮減器 – Ashish

相關問題