在可变长度输入上使用lapply和readLines

时间:2012-11-18 00:53:55

标签: json r parallel-processing readline

我有一个文本文件,其中每一行都是一个JSON对象。我可以很容易地将特定文件读入R:

lapply(readLines(FILE, n=N, warn=FALSE), fromJSON)

这可能很简单,但我想采用此功能并将其并行应用于多个文件

这样做的最佳方式是什么?

1 个答案:

答案 0 :(得分:4)

以下是使用parLapply的一个解决方案:

f <- function(x) lapply(readLines(x, n=N, warn=FALSE), fromJSON)
library(parallel)
cl <- makeCluster(detectCores())
unlist(parLapply(cl, FILES, f), recursive=FALSE)
# where FILES is a vector of file paths