来自hadoop分布式缓存的文件显示为目录

时间:2014-04-24 11:08:01

标签: java hdfs hadoop2

在Hadoop中使用DistributedCache时,我设法从驱动程序类中的hdfs推送文件,如下所示:

FileSystem fileSystem = FileSystem.get(getConf());
DistributedCache.createSymlink(conf);
DistributedCache.addCacheFile(fileSystem.getUri().resolve("/dumps" + "#" + "file.txt"), job.getConfiguration());

然后,要读取文件,请在Mapper的setup()中执行:

Path localPaths[] = context.getLocalCacheFiles();

该文件位于缓存中,位于路径/tmp/solr-map-reduce/yarn-local-dirs/usercache/user/appcache/application_1398146231614_0045/container_1398146231614_0045_01_000004/file.txt下。但是当我读它时,我得到IOException:file是一个目录。

怎样才能解决这个问题?

0 个答案:

没有答案