我有一个奇怪的问题,DistributedCache似乎更改了我的文件的名称,它使用原始名称作为父文件夹并将文件添加为子文件。
即。 folder \ filename.ext变为folder \ filename.ext \ filename.ext
任何想法,我的代码如下。 谢谢 Akintayo
String paramsLocation="/user/fwang/settings/ecgparams.txt";
DistributedCache.addCacheFile(new URI(paramsLocation), firstStageConf);
Path[] paths = DistributedCache.getLocalCacheFiles(job);
for (Path path: paths) {
if (path.getName().equals(ecgParamsFilename)) {
File f = new File(path.toString());
if (f.exists()) {
ecgParamsFullFileName = f.getAbsolutePath();
//this becomes /user/fwang/settings/ecgparams.txt/ecgparams.txt
}
}
}
更新:2010年8月16日 用以下内容替换原始调用,可以停止修改名称。
DistributedCache.addCacheArchive(new URI(ecgParamsLocation), firstStageConf);
答案 0 :(得分:0)
您确定要使用addCacheArchive()
吗?还有addCacheFile()
http://hadoop.apache.org/common/docs/r0.15.2/api/org/apache/hadoop/filecache/DistributedCache.html#getCacheFiles%28org.apache.hadoop.conf.Configuration%29。