2012-12-10 15 views
0

我們將字符串和正整數映射爲不同分佈式機器中的鍵/值對。 我們需要找出所有服務器上具有最高價值的字符串。跨分佈式機器的字符串和值的映射,什麼是最具價值的字符串?

我們應該避免從所有位置轉移整個地圖,因爲它是昂貴的和與分佈式性質相矛盾的。

有沒有辦法來優化解決這個問題?

+0

你需要正確的答案嗎?或者你滿足於「可能是最大的」? – rici

+0

我也想聽兩個 – coder000001

回答

0

聽起來像教科書MapReduce的問題。你需要有一個主從所有節點收集信息。每個節點必須向主站報告其最大的字符串/值項目。主人可以簡單地決定誰擁有最大值的字符串。

+0

假設一個節點報告「A」是最大值,另一個節點報告「B」是最大值,等等。我們將最終查詢大部分地圖。 – coder000001

+0

我認爲我們仍然需要一些有效的算法。使用MapReduce將與我們無法傳輸整個地圖的限制相矛盾。 – coder000001

+0

您不會傳輸整個地圖,只會傳輸每個節點的最大值。要改進這種算法的唯一方法是,如果在構建地圖時存在一個模式,可以讓您預測哪個節點不*有最大值,那麼您就知道不會查詢它。 – mprivat

相關問題