我目前正在尝试将两个文件添加到分布式缓存。但是,当我尝试读取它时,第二个文件正在读取与第一个文件相同的数据,尽管这两个文件包含完全不同的数据。知道为什么会这样吗?
问问题
926 次
1 回答
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];
如果访问文件的过程不起作用,则实际文件可能存在问题。
于 2015-03-04T14:41:43.023 回答