Tôi đang sử dụng gói doSNOW và cụ thể hơn là chức năng parLapply để thực hiện phân loại lại (và sau đó là các hoạt động khác) trên danh sách các bộ dữ liệu raster lớn (OS: Windows x64).Xử lý song song các raster lớn trong R (cửa sổ)
Mã này trông hơi giống như ví dụ Minimalistic này:
library(raster)
library(doSNOW)
#create list containing test rasters
x <- raster(ncol=10980,nrow=10900)
x <- setValues(x,1:ncell(x))
list.x <- replicate(9 , x)
#setting up cluster
NumberOfCluster <- 8
cl <- makeCluster(NumberOfCluster)
registerDoSNOW(cl)
junk <- clusterEvalQ(cl,library(raster))
#perform calculations on each raster
list.x <- parLapply(cl,list.x,function(x) calc(x,function(x) { x * 10 }))
#stop cluster
stopCluster(cl)
Mã này thực sự hoạt động như dự kiến. Vấn đề xảy ra khi tôi muốn tiếp tục với kết quả. Tôi nhận được thông báo lỗi này:
> plot(list.x[[1]])
Error in file(fn, "rb") : cannot open the connection
In addition: Warning message:
In file(fn, "rb") :
cannot open file 'C:\Users\*****\AppData\Local\Temp\RtmpyKYdpY\raster\r_tmp_2016-02-29_133158_752_67867.gri': No such file or directory
Theo tôi hiểu, vì raster khá lớn, chúng được lưu trong tệp tạm thời trên đĩa. Và khi tôi đóng cụm tuyết, các tệp này không thể truy cập được nữa.
Vì vậy, câu hỏi của tôi là, làm thế nào tôi có thể truy cập dữ liệu khi cụm được đóng? Tôi có thể tiếp tục sử dụng phương pháp này không?
Cảm ơn!
Cảm ơn Sam!Nếu bạn nghĩ về nó, nó thực sự khá rõ ràng ... đã cố gắng và hoạt động như một sự quyến rũ. – Val