在map -reduce中将多个文件读取到分布式缓存

时间:2015-03-04 13:43:50

标签: mapreduce distributed-cache

我目前正在尝试将两个文件添加到分布式缓存中。但是,当我尝试读取它时,第二个文件正在读取与第一个文件相同的数据,尽管这两个文件包含完全不同的数据。知道为什么会这样吗?

1 个答案:

答案 0 :(得分:0)

您最有可能实际配置作业然后在Mapper中访问它们。当您设置工作时,您将会执行类似

的操作
 job.addCacheFile(new Path("cache/file1.txt").toUri());
 job.addCacheFile(new Path("cache/file2.txt").toUri());

然后在你的映射器代码中,url将被存储在一个可以像这样访问的数组中。

 URI file1Uri = context.getCacheFiles()[0];
 URI file2Uri = context.getCacheFiles()[1];

如果访问您的文件的过程不起作用,则实际文件可能存在问题。