1

我有一个非常大的矩阵(16,000 x 16,000),需要上传到 MongoDB 数据库中。我试图将此矩阵拆分为一个列表,然后使用 parLapply 转换为 BSON。这是我的代码

library(foreach)
library(doMC)
library(parallel)

noCores <- detectCores() - 1
registerDoMC(noCores)

matrix <- as.matrix(cov(mtcars))

cl <- makeCluster(mc <- getOption("cl.cores", detectCores()/2))
clusterEvalQ(cl, {
library(rmongodb)
library(rjson)})

lst <- split(as.data.frame(matrix), rownames(matrix))
df_list <- parLapply(cl, lst, mongo.bson.from.list) 

我在这里使用 mtcars 作为测试矩阵。我收到这个错误

> df_list
$am
Error in print.mongo.bson(0L) : 
mongo.bson object appears to have been destroyed

似乎 parLapply 没有正确创建列表。有任何想法吗?先感谢您。

4

0 回答 0