创建 H2O 云时出现 H2O 苏打水错误

H2O Sparkling Water Error while creating H2O cloud

我已经设置了 H2O 苏打水,现在按照 http://h2o-release.s3.amazonaws.com/sparkling-water/rel-1.3/6/index.html 中的说明进行操作 - 第 3 步说

import org.apache.spark.h2o._
val h2oContext = new H2OContext(sc).start()

输入最后一行后出现以下错误。报错如下-

    scala> val h2oContext = new H2OContext(sc).start()
java.lang.NoClassDefFoundError: org/apache/spark/sql/execution/LogicalRDD
    at $iwC$$iwC$$iwC$$iwC$$iwC$$iwC.<init>(<console>:15)
    at $iwC$$iwC$$iwC$$iwC$$iwC.<init>(<console>:20)
    at $iwC$$iwC$$iwC$$iwC.<init>(<console>:22)
    at $iwC$$iwC$$iwC.<init>(<console>:24)
    at $iwC$$iwC.<init>(<console>:26)
    at $iwC.<init>(<console>:28)
    at <init>(<console>:30)
    at .<init>(<console>:34)
    at .<clinit>(<console>)
    at .<init>(<console>:7)
    at .<clinit>(<console>)
    at $print(<console>)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.apache.spark.repl.SparkIMain$ReadEvalPrint.call(SparkIMain.scala:789)
    at org.apache.spark.repl.SparkIMain$Request.loadAndRun(SparkIMain.scala:1062)
    at org.apache.spark.repl.SparkIMain.loadAndRunReq(SparkIMain.scala:615)
    at org.apache.spark.repl.SparkIMain.interpret(SparkIMain.scala:646)
    at org.apache.spark.repl.SparkIMain.interpret(SparkIMain.scala:610)
    at org.apache.spark.repl.SparkILoop.reallyInterpret(SparkILoop.scala:814)
    at org.apache.spark.repl.SparkILoop.interpretStartingWith(SparkILoop.scala:859)
    at org.apache.spark.repl.SparkILoop.command(SparkILoop.scala:771)
    at org.apache.spark.repl.SparkILoop.processLine(SparkILoop.scala:616)
    at org.apache.spark.repl.SparkILoop.innerLoop(SparkILoop.scala:624)
    at org.apache.spark.repl.SparkILoop.loop(SparkILoop.scala:629)
    at org.apache.spark.repl.SparkILoop$$anonfun$process.apply$mcZ$sp(SparkILoop.scala:954)
    at org.apache.spark.repl.SparkILoop$$anonfun$process.apply(SparkILoop.scala:902)
    at org.apache.spark.repl.SparkILoop$$anonfun$process.apply(SparkILoop.scala:902)
    at scala.tools.nsc.util.ScalaClassLoader$.savingContextLoader(ScalaClassLoader.scala:135)
    at org.apache.spark.repl.SparkILoop.process(SparkILoop.scala:902)
    at org.apache.spark.repl.SparkILoop.process(SparkILoop.scala:997)
    at org.apache.spark.repl.Main$.main(Main.scala:31)
    at org.apache.spark.repl.Main.main(Main.scala)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.apache.spark.deploy.SparkSubmit$.launch(SparkSubmit.scala:328)
    at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:75)
    at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
Caused by: java.lang.ClassNotFoundException: org.apache.spark.sql.execution.LogicalRDD
    at java.net.URLClassLoader.run(URLClassLoader.java:366)
    at java.net.URLC

lassLoader.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    ... 42 more

由于H2O Sparkling water是新发布的,我在网上找不到太多帮助。如果有人遇到过这样的错误或知道可能有什么问题,请帮助我解决。

谢谢!

您需要使用 Spark 1.3 才能发布 Sparkling Water 1.3.6。

Sparkling Water 版本的命名遵循 Spark 版本:

  • 1.2.x 适用于 Spark 1.2
  • 1.3.x 适用于 Spark 1.3
  • 1.4.x 适用于 Spark 1.4