1

我正在使用ffRStudio 中的包,它在我部门的 Windows 服务器上运行。我正在使用它来处理一些大型数据集,这些数据集也存储在网络驱动器上。我已经确认我对 Windows 中的驱动器具有完全读/写访问权限,但是当我使用ff包中直接将平面文件写入磁盘的任何函数(例如ff()as.ff())时,我收到“无磁盘空间”错误。

但是,如果我将数据写入另一个驱动器,然后将其移动到使用它的网络驱动器,pattern()它工作正常。ff我的包裹只有这个问题。其他功能basesave()write.csv()工作正常。是否存在特定于ff软件包的权限问题?我在下面包含了一个最小的工作示例。

> library(ff)
>
> # Set ff temporary directory to Network Drive
> options(fftempdir = "\\\\fs01/analysis/tmp/")
>
> test <- 1:10
> test.ff <- ff(test)
Error in ff(test) : no diskspace
>
> # But if I write it to another drive and then move it over, it works fine
>
> # Set the ff temporary directory to another drive
> options(fftempdir = "R:/analysis/tmp/")
> test.ff <- ff(test)
>
> physical(test.ff)$filename
[1] "R:/analysis/tmp/ff32081b6926e5.ff"
>
> pattern(test.ff) <- "\\\\fs01/analysis/tmp/"
>
> physical(test.ff)$filename
[1] "\\\\fs01/analysis/tmp/3208208747f3.ff"

这是 R 的软件版本信息:

R version 3.1.2 (2014-10-31) -- "Pumpkin Helmet"
Copyright (C) 2014 The R Foundation for Statistical Computing
Platform: x86_64-w64-mingw32/x64 (64-bit)
4

1 回答 1

1

在此处发布以供将来参考。我们认为在 ff 源代码中解析服务器地址存在某种问题,可能是一个错误。我们遇到了与您完全相同的问题 - 通过为远程位置设置名为“x”的网络驱动器然后使用地址来解决它

x:/yourfolder

代替

\\servername/yourfolder

我们还注意到磁盘上的 ff 文件已分配,但是在使用类似

ff.test <- ff(vmode="double",filename="\\servername/youfolder/ff.test",dim=c(1000,1000))

在再次发送同一行之后,ff 对象被创建而没有错误。

于 2016-10-27T10:07:23.943 回答