2017-01-29 55 views
0

同樣的方法對Jupyter運行Apache火花用來工作啓動PySpark的時候,但現在卻拋出異常錯誤消息:的Java網關進程發送驅動其端口號之前退出從Jupyter筆記本電腦上的Windows

這是以前工作的Jupyter筆記本的配置。

import os 
import sys 

spark_home = os.environ.get('SPARK_HOME', None) 
print(spark_home) 
spark_home= spark_home+"/python" 
sys.path.insert(0, spark_home) 
sys.path.insert(0, os.path.join(spark_home, 'python/lib/py4j-0.8.2.1- src.zip')) 

filename = os.path.join(spark_home, 'pyspark/shell.py') 
print(filename) 
exec(compile(open(filename, "rb").read(), filename, 'exec')) 

spark_release_file = spark_home + "/RELEASE" 

if os.path.exists(spark_release_file) and "Spark 1.5" in open(spark_release_file).read(): 
pyspark_submit_args = os.environ.get("PYSPARK_SUBMIT_ARGS", "") 
if not "pyspark-shell" in pyspark_submit_args: 
    pyspark_submit_args += " pyspark-shell" 
    os.environ["PYSPARK_SUBMIT_ARGS"] = pyspark_submit_args 

exec語句拋出異常。

請讓我知道我做錯了什麼。

回答

0

您需要調用執行語句的if語句

import os 
    import sys 

    spark_home = os.environ.get('SPARK_HOME', None) 
    print(spark_home) 
    spark_home= spark_home+"/python" 
    sys.path.insert(0, spark_home) 
    sys.path.insert(0, os.path.join(spark_home, 'python/lib/py4j-0.8.2.1- src.zip')) 

    filename = os.path.join(spark_home, 'pyspark/shell.py') 
    print(filename) 


    spark_release_file = spark_home + "/RELEASE" 

    if os.path.exists(spark_release_file) and "Spark 1.5" in open(spark_release_file).read(): 
     argsstr= "--master yarn pyspark-shell "; 
     pyspark_submit_args = os.environ.get("PYSPARK_SUBMIT_ARGS", argsstr) 
     if not "pyspark-shell" in pyspark_submit_args: 
      pyspark_submit_args += " pyspark-shell" 
      os.environ["PYSPARK_SUBMIT_ARGS"] = pyspark_submit_args 
     exec(compile(open(filename, "rb").read(), filename, 'exec')) 
相關問題