我已经以这种方式在distributedCache中放置了一个文件:
DistributedCache.addCacheFile(new URI(pathU.toString()),job2.getConfiguration());
在我的映射器中,在setup()函数中,我正在以这种方式阅读它:
localFiles = DistributedCache.getLocalCacheFiles(conf);
FileInputStream fis = new FileInputStream(localFiles[0].toString());
DataInputStream dis = new DataInputStream(fis);
for (int i = 0; i < uMat.getMatrix().length; i++) {
double d = dis.readDouble();
uMat.getMatrix()[i] = d;
}
但总是我读的第一个双,是一个随机的负数!这是为什么?它从何而来?我读到的其余双打是正确的(他们是我期望的那样)
任何想法?