【问题标题】:Running Sparkling-Water with external H2O backend使用外部 H2O 后端运行苏打水
【发布时间】:2017-08-22 16:30:40
【问题描述】:

我按照here 的外部后端运行苏打水的步骤。我正在使用spark 1.4.1sparkling-water-1.4.16,我已经构建了扩展的 h2o jar 并导出了 H2O_ORIGINAL_JARH2O_EXTENDED_JAR 系统变量。我用

启动 h2o 后端
java -jar $H2O_EXTENDED_JAR -md5skip -name test

但是当我开始通过

起泡水
./bin/sparkling-shell

并在其中尝试使用

获取H2OConf
import org.apache.spark.h2o._
val conf = new H2OConf(sc).setExternalClusterMode().useManualClusterStart().setCloudName("test”)
val hc = H2OContext.getOrCreate(sc, conf)

它在第二行失败

<console>:24: error: trait H2OConf is abstract; cannot be instantiated
   val conf = new H2OConf(sc).setExternalClusterMode().useManualClusterStart().setCloudName("test")
              ^

我尝试将带有--jars 参数的新建扩展水罐添加到苏打水或独立火花中,但没有任何进展。有没有人有任何提示?

【问题讨论】:

  • 本教程只有几个小版本,在sparkling-water-1.4.16 的时候,该类仍然是抽象的,因此无法以这种方式使用。
  • 现在仅在 2.+ SW 版本中支持外部集群(在某种程度上它将在 SW1.6 中可用)。使用 1.4 版 Spark 的任何原因 - 它真的很旧(相对于 Spark 生态系统的当前状态)。
  • 遗留系统是原因。我们计划在不久的将来升级,但我们现在没有足够的时间。
  • 目前,我们不打算将更改移植到较旧的 Spark 版本中。但是,从技术上讲,它并没有那么复杂。

标签: scala apache-spark h2o


【解决方案1】:

2.0 之前的 Spark 版本不支持此功能。

【讨论】:

    【解决方案2】:

    下载最新版本的 sparkling jar 并在启动 spark-shell 时添加:

    ./bin/sparkling-shell --master yarn-client --jars "<path to the jar located>"
    

    然后通过设置扩展的h2o驱动来运行代码:

    import org.apache.spark.h2o._
    
    val conf = new H2OConf(spark).setExternalClusterMode().useAutoClusterStart().setH2ODriverPath("//home//xyz//sparkling-water-2.2.5/bin//h2odriver-sw2.2.5-hdp2.6-extended.jar").setNumOfExternalH2ONodes(2).setMapperXmx("6G")
    
    val hc = H2OContext.getOrCreate(spark, conf)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-03-03
      • 1970-01-01
      • 2015-09-23
      • 2023-03-29
      • 1970-01-01
      • 2017-11-15
      • 2019-08-08
      相关资源
      最近更新 更多