【发布时间】:2015-12-29 15:43:00
【问题描述】:
在我的 Mac 机器上安装了Spark-1.5.0,我正在尝试使用 rStudio 中的 com.databricks:-csv_2.11:1.2.0 包初始化 spark 上下文,如下所示:
Sys.setenv('SPARKR_SUBMIT_ARGS'='"--packages" "com.databricks:-csv_2.11:1.2.0" "sparkr-shell"')
library(SparkR, lib.loc = "spark-1.5.0-bin-hadoop2.6/R/lib/")
sc <- sparkR.init(sparkHome = "spark-1.5.0-bin-hadoop2.6/")
但我收到以下错误消息:
[unresolved dependency: com.springml#spark-salesforce_2.10;1.0.1: not found]
为什么会这样?
P.s.,当我使用 com.databricks:spark-csv_2.10:1.0.3 时,初始化工作正常。
更新
我尝试使用版本 com.databricks:spark-csv_2.10:1.2.0 并且一切正常。
现在,我在 rStudio 中使用此代码加载 csv 文件:
sqlContext <- sparkRSQL.init(sc)
flights <- read.df(sqlContext, "R/nycflights13.csv", "com.databricks.spark.csv", header="true")
我收到以下错误消息:
Error in writeJobj(con, object) : invalid jobj 1
当我执行sqlContext 时出现错误:
Error in callJMethod(x, "getClass") :
Invalid jobj 1. If SparkR was restarted, Spark operations need to be re-executed.
会话信息:
R version 3.2.0 (2015-04-16)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
Running under: OS X 10.10.2 (Yosemite)
locale:
[1] en_GB.UTF-8/en_GB.UTF-8/en_GB.UTF-8/C/en_GB.UTF-8/en_GB.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] SparkR_1.5.0 rJava_0.9-7
loaded via a namespace (and not attached):
[1] tools_3.2.0
请注意,当我将 Spark Shell 与相同的命令一起使用时,我不会收到此错误。
【问题讨论】:
-
在这里查看我的答案:stackoverflow.com/q/32873434/1560062,2.11 是 Scala 版本,而 bre-built 二进制文件使用的是 Scala 2.10。如果你想使用 2.11,你必须build Spark from source with Scala 2.11。此外,您的包名中有拼写错误 - 它应该是
com.databricks:spark-csv_2.11:1.2.0。如果您只是想在 2.10 上使用最新版本的spark-csv,请使用com.databricks:spark-csv_2.10:1.2.0。 -
谢谢@zero323。刚刚尝试使用 com.databricks:spark-csv_2.10:1.2.0 ,但是当我上传 csv 文件时出现以下错误: writeJobj(con, object) 中的错误:无效 jobj 1
-
当我使用 Spark shell 而不是 rStudio 时,不会出现错误“writeJobj(con, object) 中的错误:无效的 jobj 1”?知道为什么吗?
-
并非如此。我无法重现此问题。您能否提供更多详细信息(操作系统、R 版本、RStudio 版本、会话信息)?
-
@zero323 我用更多信息更新了问题
标签: r apache-spark rstudio