使用外部H2O后端运行Sparkling-Water

时间:2017-03-29 09:13:32

标签: scala apache-spark h2o

我正在执行使用来自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参数的新构建的扩展h2o jar添加到苏打水或独立火花中,没有任何进展。有人有任何提示吗?

2 个答案:

答案 0 :(得分:0)

对于早于2.0的Spark版本,不支持此功能。

答案 1 :(得分:0)

下载最新版本的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)