Spark_Apply For TM库抛出错误

时间:2018-06-26 06:01:28

标签: r apache-spark apply tm sparklyr

我想使用sparklyr中TM库的功能。 我也使用了功能spark_apply()。但是我收到以下错误

  

错误:无法从类data.frame的对象中检索spark_connection

运行代码时。  以下是我的代码段

myFunction <- function(sparkdataframe){ 
  inputdf<-collect(sparkdataframe)
  inputdf<-as.matrix(inputdf)
  inputdf1<-t(inputdf)
  doc<-Corpus(VectorSource(inputdf1))
  doc<-tm_map(doc,removePunctuation)
  data.frame(doc = sapply(doc, as.character), stringsAsFactors = FALSE)
  return(doc)
}

# Use spark_apply to run function in Spark
spark_apply(sparkdataframe,function(e) (myFunction(e)))

1 个答案:

答案 0 :(得分:0)

那是因为您在闭包中尝试了collect

inputdf<-collect(sparkdataframe)

函数接收的对象是普通R data.frame。完全删除此行,然后将以下行替换为:

inputdf<-as.matrix(sparkdataframe)