使用MapReduce为String分配唯一ID

时间:2012-11-02 05:03:13

标签: mapreduce uniqueidentifier apache-zookeeper

我想运行一个MapReduce作业,我想从给定文件中扫描多个列,并为每列的每个不同值分配一个唯一ID(索引号)。主要的挑战是为在不同节点或不同的Reducer实例上遇到的相同值共享相同的ID。

目前,我使用zookeeper来共享唯一ID,但这会对性能产生影响。我甚至将信息保存在本地缓存的减速器级别,以避免多次访问zookeeper以获得相同的值。我想探索是否还有其他更好的机制来做同样的事情。

1 个答案:

答案 0 :(得分:1)

我可以为您的问题建议两种可能的解决方案

  1. 根据您的值创建唯一ID。这可能是具有低冲突率的哈希函数。
  2. 使用比ZooKeeper更快的存储空间。您可以尝试像Redis这样的简单键值存储来将值存储到id映射。
相关问题