为什么DistributedCache会破坏我的文件名

时间:2010-08-04 19:50:54

标签: java path uri hadoop mapreduce

我有一个奇怪的问题,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);

1 个答案:

答案 0 :(得分:0)