2016-06-24 21 views
2

Ich versuche, H2O läuft auf einem Jupyter Notebook mit Scala Kernel, bisher ohne Erfolg. Vielleicht kann mir jemand einen Hinweis geben, woran es liegen könnte? Der Code, den ich im Moment bin Ausführung istLaufen h2o in Jupyter Scala Notebook

classpath.add("ai.h2o" % "sparkling-water-core_2.10" % "1.6.5") 

import org.apache.spark.h2o._ 
import org.apache.spark.SparkConf 
import org.apache.spark.SparkContext 
import org.apache.spark.SparkContext._ 

val conf = new SparkConf().setAppName("appName").setMaster("local") 
val sc = new SparkContext(conf) 
val sqlContext = new org.apache.spark.sql.SQLContext(sc) 

val h2oContext = new H2OContext(sc).start() 

Es mit Fehlern in der letzten Zeile nicht

java.lang.NoClassDefFoundError: water/H2O 
.... 

Und Ausnahme druckt

java.lang.RuntimeException: Cannot launch H2O on executors: numOfExecutors=1, executorStatus=(driver,false) (Cannot launch H2O on executors: numOfExecutors=1, executorStatus=(driver,false)) 
org.apache.spark.h2o.H2OContextUtils$.startH2O(H2OContextUtils.scala:169) 
org.apache.spark.h2o.H2OContext.start(H2OContext.scala:214) 

Antwort

2

Wenn Sie Toree verwenden,

In /usr/local/share/jupyter/kernels/apache_toree_scala/kernel.json

sollten Sie fügen --packages ai.h2o: Schaum-Wasser-core_2.10: 1.6.6 auf __TOREE_SPARK_OPTS__, so etwas wie

"__TOREE_SPARK_OPTS__": „--master local [*] --executor-Speicher 12g --driver-memory 12g --packages ai.h2o: glitzernde-wasser-kern_2.10: 1.6.6 ",

Dann wird sc erstellt, wenn Sie Ihr Notebook erstellen. Sie müssen also sc nicht neu erstellen.

+0

Funktioniert wie ein Charme! Genug zu tun 'importieren Sie org.apache.spark.h2o._' und' val h2oContext = new H2OContext (sc) .start() 'am Anfang des Notebooks. – psarka