使用 Python Notebook 在 Databricks 中创建 Sparkling Water Cloud
Create Sparkling Water Cloud in Databricks using Python Notebook
我正在尝试使用 Databricks 在 Spark 中启动 Sparkling Water 云。我已将 H2O 库 (3.16.0.2)、PySparkling (pysparkling 0.4.6) 和 Sparkling Water jar (sparkling-water-assembly_2.11-2.1.10-all.jar) 附加到集群 I' m 运行(Spark 2.1,自动更新 Scala 1.1.1)。
我成功导入了以下所需的库:
from pysparkling import *
import h2o
然而,当我尝试使用以下命令初始化 Sparkling Water 云时:
hc = H2OContext.getOrCreate(spark)
或
H2OContext.getOrCreate(sc)
我得到同样的错误:
NameError: name 'H2OContext' is not defined
NameError Traceback (most recent call last)
<command-4043510449425708> in <module>()
----> 1 H2OContext.getOrCreate(sc)
NameError: name 'H2OContext' is not defined
对于它的价值,我可以使用这个 Scala documentation 初始化 Sparkling Water 云:
%scala
import org.apache.spark.h2o._
val h2oConf = new H2OConf(sc).set("spark.ui.enabled", "false")
val h2oContext = H2OContext.getOrCreate(sc, h2oConf)
import org.apache.spark.h2o._
h2oConf: org.apache.spark.h2o.H2OConf =
Sparkling Water configuration:
backend cluster mode : internal
workers : None
cloudName : sparkling-water-root_app-20171222131625-0000
flatfile : true
clientBasePort : 54321
nodeBasePort : 54321
cloudTimeout : 60000
h2oNodeLog : INFO
h2oClientLog : WARN
nthreads : -1
drddMulFactor : 10
h2oContext: org.apache.spark.h2o.H2OContext =
Sparkling Water Context:
* H2O name: sparkling-water-root_app-20171222131625-0000
* cluster size: 1
* list of used nodes:
(executorId, host, port)
------------------------
(x,xx.xxx.xxx.x,54321)
------------------------
Open H2O Flow in browser: http://xx.xxx.xxx.xxx:54321 (CMD + click in Mac OSX)
但此管道可能并不总是使用 Databricks,因此它需要全部在 PySpark 中,而 Databricks 没有相应的 PySpark 示例。
提前致谢。
对于 pysparkling,您需要先为 h2o_pysparkling_2.1
创建一个 PyPi 库,因为您使用的是 Spark 2.1 集群。您附加的库 pysparkling
有所不同。此外,您不需要附加所有其他库,因为 h2o_pysparkling_2.1
包已经导入了其他必要的库。
一旦你这样做了,你就可以 运行:
from pysparkling import *
h2oConf = H2OConf(spark)
h2oConf.set("spark.ui.enabled", False)
h2oContext = H2OContext.getOrCreate(spark, h2oConf)
我正在尝试使用 Databricks 在 Spark 中启动 Sparkling Water 云。我已将 H2O 库 (3.16.0.2)、PySparkling (pysparkling 0.4.6) 和 Sparkling Water jar (sparkling-water-assembly_2.11-2.1.10-all.jar) 附加到集群 I' m 运行(Spark 2.1,自动更新 Scala 1.1.1)。
我成功导入了以下所需的库:
from pysparkling import *
import h2o
然而,当我尝试使用以下命令初始化 Sparkling Water 云时:
hc = H2OContext.getOrCreate(spark)
或
H2OContext.getOrCreate(sc)
我得到同样的错误:
NameError: name 'H2OContext' is not defined
NameError Traceback (most recent call last)
<command-4043510449425708> in <module>()
----> 1 H2OContext.getOrCreate(sc)
NameError: name 'H2OContext' is not defined
对于它的价值,我可以使用这个 Scala documentation 初始化 Sparkling Water 云:
%scala
import org.apache.spark.h2o._
val h2oConf = new H2OConf(sc).set("spark.ui.enabled", "false")
val h2oContext = H2OContext.getOrCreate(sc, h2oConf)
import org.apache.spark.h2o._
h2oConf: org.apache.spark.h2o.H2OConf =
Sparkling Water configuration:
backend cluster mode : internal
workers : None
cloudName : sparkling-water-root_app-20171222131625-0000
flatfile : true
clientBasePort : 54321
nodeBasePort : 54321
cloudTimeout : 60000
h2oNodeLog : INFO
h2oClientLog : WARN
nthreads : -1
drddMulFactor : 10
h2oContext: org.apache.spark.h2o.H2OContext =
Sparkling Water Context:
* H2O name: sparkling-water-root_app-20171222131625-0000
* cluster size: 1
* list of used nodes:
(executorId, host, port)
------------------------
(x,xx.xxx.xxx.x,54321)
------------------------
Open H2O Flow in browser: http://xx.xxx.xxx.xxx:54321 (CMD + click in Mac OSX)
但此管道可能并不总是使用 Databricks,因此它需要全部在 PySpark 中,而 Databricks 没有相应的 PySpark 示例。
提前致谢。
对于 pysparkling,您需要先为 h2o_pysparkling_2.1
创建一个 PyPi 库,因为您使用的是 Spark 2.1 集群。您附加的库 pysparkling
有所不同。此外,您不需要附加所有其他库,因为 h2o_pysparkling_2.1
包已经导入了其他必要的库。
一旦你这样做了,你就可以 运行:
from pysparkling import *
h2oConf = H2OConf(spark)
h2oConf.set("spark.ui.enabled", False)
h2oContext = H2OContext.getOrCreate(spark, h2oConf)