如何使用parLapply和rmongodb将大矩阵拆分为BSON列表?

时间:2016-11-26 20:50:16

标签: r mongodb rmongodb

我有一个非常大的矩阵(16,000乘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没有正确创建列表。有任何想法吗?先感谢您。

0 个答案:

没有答案