我有一个要使用分布式缓存工具添加的文件列表。不同的reduce任务需要不同的文件。例如,reduce 1 需要文件 A,而 reduce 2 需要文件 B,依此类推。在 Job Conf 中,这两个文件都是使用 DistributedCache.addCacheFile() 方法添加的。在 reduce 类配置方法中,我使用 DistributedCache.getCacheFiles() 来获取文件。有没有可能我只能在reduce 1的内存中拥有文件A,而在reduce 2的内存中只有文件B。或者在reduce任务开始之前,这两个文件都被添加到内存中。
如果我理解这一点,我可以为我的程序使用分布式缓存。我关心的是可扩展性。文件很大。因此,reduce 任务不能将这两个文件都放在内存中。但可以容纳其中一个文件。
请帮忙!!!
谢谢