我想将文件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;
}
}
看看是否有帮助