2012-11-02 49 views
2

我想運行一個MapReduce作業,我想掃描給定文件中的多列,併爲每列的每個不同值分配唯一的ID(索引號)。主要挑戰是在不同節點或Reducer的不同實例上遇到的相同值共享相同的ID。使用MapReduce爲字符串分配唯一ID

目前,我正在使用zookeeper共享唯一ID,但這會對其性能產生影響。我甚至將本地緩存中的信息保存在縮減級別,以避免多次到同一個值的動物園管理員。我想探討是否還有其他更好的機制可以做到這一點。

+0

你可以使用md5(value)作爲id嗎? – sbridges

回答

1

我可以建議你的問題

  1. 兩種可能的解決方案創建基於你的價值的唯一ID。這可能是一個低衝突率的散列函數。
  2. 使用比ZooKeeper更快速的存儲。您可以嘗試簡單的鍵值存儲(如Redis)以將值存儲到id映射。