首页 > 解决方案 > 错误:从 sparklyr 使用 copy_to 时,C 堆栈使用 133776899 太接近限制

问题描述

我正在尝试将 a 转换data.frame为 a Spark DataFrame

library(sparklyr)

conf <- list()

conf$`sparklyr.cores.local` <- 4
conf$`sparklyr.shell.driver-memory` <- "16G"
conf$spark.memory.fraction <- 0.9

sc <- spark_connect(master = "local", 
                    config = conf)

load("./data/dfm_training.RData")
load("./data/training.RData")


df <- training[,c(1,2,3,18)]
df$TextLength <- nchar(df$txt)
df <- df[df$TextLength > 0,]

df.tokens.df <- cbind(nchar = df$TextLength, label = df$training2_CFT,
                  convert(dfm_training, to = "data.frame"))

## to spark
sdf <- copy_to(sc, df.tokens.df)

但是,我收到以下错误:

Error: C stack usage 133776899 is too close to the limit

我尝试过切换内核数量和使用的内存数量,但没有任何变化。

标签: rdataframeapache-sparkstoragesparklyr

解决方案


推荐阅读