mclapply在用户代码中遇到错误

时间:2016-11-21 14:44:41

标签: r apply lapply mapply

当我运行mclapply时:

> ListofCSVs<- mclapply(list.files(pattern = "2013"), function(n){
    read.table(n, header=TRUE, sep = ",", stringsAsFactors = FALSE
  )}
  ,mc.cores=12) 

其中list.files(pattern =“2013”​​)列出了12个CSV文件:

> list.files(pattern = "2013")
 [1] "BONDS 2013 01.csv" "BONDS 2013 02.csv" "BONDS 2013 03.csv" "BONDS 2013 04.csv" "BONDS 2013 05.csv" "BONDS 2013 06.csv" "BONDS 2013 07.csv"
 [8] "BONDS 2013 08.csv" "BONDS 2013 09.csv" "BONDS 2013 10.csv" "BONDS 2013 11.csv" "BONDS 2013 12.csv" 

我明白了:

Warning message:
In mclapply(list.files(pattern = ".csv"), function(n) { :
  **scheduled core 2, 1 encountered error** in user code, all values of the job will be affected.
  

打印(ListofCSVs [1])   .....“封装代码中的致命错误”

我已尝试 this,但我的数据仍未正确加载。

This说它可能是一个太多线程的问题......

我可以使用lapply正确加载文件。

我还检查过每个read.table的工作原理,因此,我不认为这是一个数据问题。

ai<-read.table("BONDS 2013 i.csv", header=TRUE, sep = ",", stringsAsFactors = FALSE)

每个CSV大约1G,有40列。

我也使用foreach%dopar%并且它可以工作。

我用两个核心运行相同的代码。它不起作用。

我用一个核心运行它,它可以工作。

数据位于工作目录

谢谢!

我有16个核心和122 GB(Amazon Cloud AWS - Linux)

更新:这有效......

> ListofCSVs<- parLapply(cl, list.files(pattern = ".csv"), function(n){
 read.table(n, header=TRUE, sep=',',stringsAsFactors = FALSE) 
   })

去图......

0 个答案:

没有答案
相关问题