我正在尝试将'tm'库功能与sparklyr的spark_apply()函数一起使用。
我已经从文本文件中创建了一个名为 train 的sparkdataframe:
火车详细信息:
来源:表格[?? x 1]
数据库:spark_connection
行
1谢谢。致格拉纳·马切尔妈妈,
2“星期二,xyz abc”
然后我将自定义函数定义为:
myfunction<-function(data){
test<-tm::Corpus(VectorSource(data))
test<-Corpus(VectorSource(test))
test<-tm_map(test,content_transformer(stripWhitespace))
dtm<-DocumentTermMatrix(test)
dtm<-as.matrix(dtm)
dtm<-as.data.frame(dtm)
return(dtm)
}
但是当我按以下方式运行spark_apply函数时:
spark_apply(train,myfunction)
,它抛出以下错误,
文件错误(con,“ r”):无法打开连接 另外:警告消息: 在file(con,“ r”)中: 无法打开文件'C:\ Users \ hp \ AppData \ Local \ Temp \ RtmpIzVe9J \ file53c76462a6c_spark.log':权限被拒绝
我已经验证了Spark Bin中的cmd文件,并且由于它是我自己的本地计算机,所以我具有所有必需的权限。
只是为了交叉验证,我运行了以下代码,所以效果很好:
myfunction1<-function(data){
test<-tm::MC_tokenizer(data)
}
spark_apply(train,myfunction1)
结果:
Source: table<sparklyr_tmp_53c119568d> [?? x 1]
Database: spark_connection
line
1 Thank
2 you
3 To
4 Mama
5 Gra
6 a
7 Machel
注意:
spark_version(spark_conn)
[1] ‘2.3.0’
packageVersion('sparklyr')
[1] ‘0.8.4’
如果有人可以调查这个问题,那就太好了。