2017-12-22 27 views
0

Databricks를 사용하여 스파크 내에서 스파클링 워터 클라우드를 실행하려고합니다. 내가 실행중인 클러스터에 H2O 라이브러리 (3.16.0.2), PySparkling (pysparkling 0.4.6) 및 Sparkling Water jar (sparkling-water-assembly_2.11-2.1.10-all.jar)를 첨부했습니다. (Spark 2.1, Scala 1.1.1 자동 업데이트).Python 노트북을 사용하여 Databricks에서 스파클링 워터 클라우드 생성

나는 아래에 필요한 라이브러리를 가져 성공적으로 :

hc = H2OContext.getOrCreate(spark)

또는

H2OContext.getOrCreate(sc)

: 나는 다음과 같은 명령을 사용하여 탄산수 클라우드를 초기화 할 때 그러나

from pysparkling import * 
import h2o 

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가 사용 탄산수 구름을 초기화 할 수 있습니다 가치가 무엇인지를 들면 :

%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 예제가 없습니다.

미리 감사드립니다.

답변

1

스파크 2.1 클러스터를 사용하고 있으므로, 스파클링을 위해서는 먼저 h2o_pysparkling_2.1에 대한 PyPi 라이브러리를 만들어야합니다. 당신이 붙인 도서관은 pysparkling입니다. 또한 h2o_pysparkling_2.1 패키지가 이미 다른 필요한 라이브러리를 가져 오기 때문에 다른 라이브러리를 모두 연결할 필요가 없습니다.

당신이 실행할 수 있습니다 그렇게되면 :

from pysparkling import * 

h2oConf = H2OConf(spark) 
h2oConf.set("spark.ui.enabled", False) 

h2oContext = H2OContext.getOrCreate(spark, h2oConf) 
+0

내가 얻을 : 수입 * [경고] H2O를 pysparkling에서 버전 0.3.8 이상의 색상 파노라마 모듈이 필요합니다. 0.3.7 버전이 있습니다. 방법 getOrCreate ([클래스 org.apache.spark : 당신은 h2oContext = H2OContext.getOrCreate (스파크) py4j.Py4JException --upgrade 색상 파노라마를 설치 명령 줄 $의 PIP2에서 실행 모듈의 최신 버전으로 업그레이드 할 수 있습니다 .sql.SparkSession, class org.apache.spark.h2o.H2OConf]) 존재하지 않습니다 ... –

+1

코드 예제를 업데이트했습니다. 먼저 모든 이전 라이브러리를 분리하고 클러스터를 다시 시작하여 종속성을 제거한 다음 h2o_pysparkling_2.1을 첨부하고 위의 코드를 실행하십시오. 방금 Spark 2.1 클러스터에서 직접 확인했습니다. – Silvio