我想将文件A存放在reducer1的内存中,并将文件B存放在reducer2的内存中。在hadoop中使用分布式缓存技术是否可能?否则,还有其他方法可以做到这一点吗?

谢谢

最佳答案

是的,如果文件很小,则可以在分布式缓存中设置这些文件。
点击此链接http://developer.yahoo.com/hadoop/tutorial/module5.html#auxdata。这可能对您有用。

如果您认为这部分代码取决于您要在哪个reducer上处理的文件。

Path [] cacheFiles = DistributedCache.getLocalCacheFiles(conf);
      if (null != cacheFiles && cacheFiles.length > 0) {
        for (Path cachePath : cacheFiles) {
          if (cachePath.getName().equals(stopwordCacheName)) {
            loadStopWords(cachePath);
            break;
          }
        }

看看是否有帮助

10-04 13:39