无法获得最新的Sparkling Water(2.2)与R一起工作(通过rsparkling)

时间:2017-09-07 09:44:37

标签: r apache-spark h2o sparkling-water

我在更新rsparkling以使用Sparkling Water 2.2和Spark 2.2时遇到问题。一切都适用于以前的版本(< 2.1)。

我已经安装了最新的Sparkling Water 2.2二进制文件(根据https://h2o-release.s3.amazonaws.com/sparkling-water/rel-2.2/0/index.html)附带的rsparkling版本R软件包,并将苏打水版本设置为安装位置(即选项(rsparkling.sparklingwater.location = “/Users/me/sparkling-water-2.2.0 /")).

我现在可以连接到我的群集,但收到错误

java.lang.ClassNotFoundException: org.apache.spark.h2o.H2OContext

我认为这可能与我正在使用的h2o版本有关 - 3.14.0.2这是安装页面中推荐的版本。

有谁知道哪种版本的h2o苏打水2.2适用? rsparkling文档(https://github.com/h2oai/rsparkling)未更新为2.2。这个错误可能是别的结果吗?

我正在连接到一个独立的火花星团,我的设置是:

Cluster/local Spark version: 2.2
R: 3.4.2
RStudio: 1.0.153
Sparklyr: 0.6.2
h2o: 3.14.0.2
rsparkling: 2.1

2 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,我已经通过调整h2o和Sparkling-water版本解决了这个问题。

  1. https://github.com/h2oai/rsparkling显示版本匹配表。由于你的h2o是3.14.0.2,后端spark应该是2.2.0。
  2. https://h2o-release.s3.amazonaws.com/sparkling-water/rel-2.2/2/index.html在下载链接下方有三行,表示指定的版本,其中建立了苏打水。例如,Sparkling water 2.2.2与H2O 3.14.0.7匹配。这是关键问题:如果您使用H2O 3.14.0.6与Sparkling water 2.2.2,或H2O 3.14.0.7与Sparkling water 2.2.1,您的错误将被提升。
  3. 仔细阅读这些信息并选择您的下载解决方案(选择与苏打水和H2O以及Spark完全匹配的版本)。
  4. 这是一个解决方案:

    群集/本地Spark版本:2.2 R:3.4.2 RStudio:1.0.153 Sparklyr:0.6.2 h2o:3.14.0.2 苏打水2.2.0 ,从https://h2o-release.s3.amazonaws.com/sparkling-water/rel-2.2/0/index.html下载

    ## sparkling water 2.2.0
    options(rsparkling.sparklingwater.version = "2.2.0")
    options(rsparkling.sparklingwater.location = "/opt/sparkling-water-2.2.0")
    library(rsparkling) 
    
    ## spark version 2.2.0
    sc <- spark_connect(master = "local", version = "2.2.0")
    
    ## connect succeed!
    h2o_context(sc)
    

答案 1 :(得分:0)

也许您没有正确安装spark,h2o和Rstudio的所有依赖项。我有这个问题,通过遵循文档,我注意到我没有所有包。

这就是我按照文档here

为我解决问题的方法

确保安装了devtools,在Rstudio中运行此命令:install.packages('devtools')

然后: library(devtools) devtools::install_github("h2oai/rsparkling", ref = "master")

希望这可以帮助你。