Spark R 2.0非常慢

时间:2016-08-06 11:03:48

标签: r apache-spark sparkr

我刚开始测试Spark R 2.0,发现dapply的执行非常慢。

例如,以下代码

set.seed(2)
random_DF<-data.frame(matrix(rnorm(1000000),100000,10))
system.time(dummy_res<-random_DF[random_DF[,1]>1,])

user  system elapsed 
0.005   0.000   0.006 `

在6ms内执行

现在,如果我在4个分区上创建Spark DF,并在4个核心上运行,我得到:

sparkR.session(master = "local[4]")

random_DF_Spark <- repartition(createDataFrame(random_DF),4)

subset_DF_Spark <- dapply(
    random_DF_Spark,
    function(x) {
        y <- x[x[1] > 1, ]
        y
    },
    schema(random_DF_Spark))

system.time(dummy_res_Spark<-collect(subset_DF_Spark))

user  system elapsed 
2.003   0.119  62.919 

即。 1分钟,这是异常缓慢......我错过了什么?

我也收到警告(TaskSetManager:Stage 64包含一个非常大的任务(16411 KB)。建议的最大任务大小为100 KB。)。为什么这个100KB的限制如此之低?

我在Mac OS 10.10.5上使用R 3.3.0

欢迎任何见解!

0 个答案:

没有答案