R,sparklyr - 不能强迫类型环境'对于类型'字符'

时间:2017-08-21 11:18:57

标签: r apache-spark

我将数据框复制到本地Spark群集时遇到问题。我尝试按照此网站上的步骤操作:https://spark.rstudio.com/ 我像这样连接到我的群集:

> library(sparklyr)
> sc <- spark_connect(master = "local")

然后我测试了将对象复制到集群中:

> library(dplyr)
> iris_tbl <- copy_to(sc, iris)

它工作正常。我在IDE中为Sparc看到了这个对象。

然后我尝试用我的数据框做同样的事情:

> my_df_tbl <- copy_to(sc, my_df)

出现此错误:

  

UseMethod中的错误(&#34;调用&#34;):     没有适用的方法来调用&#39;应用于类&#34;字符&#34;

的对象

当我尝试这样做时:

> copy_to(sc, my_df)

我收到了这个错误:

  

as.vector中的错误(x,&#34;字符&#34;):无法强制类型   &#39;环境&#39;到#&#39;字符&#39;

的矢量

我检查了两个对象,看看两者是否属于同一类型:\

> class(iris)
[1] "data.frame"
> class(my_df)
[1] "tbl_df"     "tbl"        "data.frame"

你知道它为什么不起作用吗?

2 个答案:

答案 0 :(得分:0)

我找到了解决方案(或错误)。我不知道为什么我之前没有得到这个错误但是在我第二次打开RStudio和我的项目之后我试图这样做:

library(sparklyr)

我得到错误,我没有包裹闪亮和rlang。我安装了它们:

> install.packages("shiny")
> install.packages("rlang")

然后我再次尝试复制我的数据框,它没有问题。

答案 1 :(得分:0)

对我而言,它有助于使用早期版本的sparklyr。我将版本从0.7.0更改为0.5.6。