2017-06-13 25 views
0

私はこれまでspark 2.0.1を使用していましたが、ローカルにtarファイルをダウンロードしてPATHSを変更することで新しいバージョン2.1.1にアップグレードしようとしました。sparkContext Pythonの初期化で奇妙なエラーが発生しました

しかし、私はプログラムを実行しようとすると、sparkContextの初期化に失敗しています。すなわち

sc = SparkContext() 

私が実行しようとしています全体のサンプルコードは次のとおりです。

 import os 
    os.environ['SPARK_HOME']="/opt/apps/spark-2.1.1-bin-hadoop2.7/" 

    from pyspark import SparkContext 
    from pyspark.sql import * 
    sc = SparkContext() 

    sqlContext = SQLContext(sc) 

    df_tract_alpha= sqlContext.read.parquet("tract_alpha.parquet") 
    print (df_tract_alpha.count()) 

私が手に例外がスタート自体すなわちである:私はUbuntuのを渡していないです

 

    Traceback (most recent call last): 
     File "/home/vna/scripts/global_score_pipeline/test_code_here.py", line 47, in 
     sc = SparkContext() 
     File "/opt/apps/spark-2.1.1-bin-hadoop2.7/python/pyspark/context.py", line 118, in __init__ 
     conf, jsc, profiler_cls) 
     File "/opt/apps/spark-2.1.1-bin-hadoop2.7/python/pyspark/context.py", line 182, in _do_init 
     self._jsc = jsc or self._initialize_context(self._conf._jconf) 
     File "/opt/apps/spark-2.1.1-bin-hadoop2.7/python/pyspark/context.py", line 249, in _initialize_context 
     return self._jvm.JavaSparkContext(jconf) 
     File "/opt/apps/spark-2.1.1-bin-hadoop2.7/python/lib/py4j-0.10.4-src.zip/py4j/java_gateway.py", line 1401, in __call__ 
     File "/opt/apps/spark-2.1.1-bin-hadoop2.7/python/lib/py4j-0.10.4-src.zip/py4j/protocol.py", line 319, in get_return_value 
    py4j.protocol.Py4JJavaError: An error occurred while calling None.org.apache.spark.api.java.JavaSparkContext. 
    : java.lang.NumberFormatException: For input string: "Ubuntu" 
     at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) 

私の変数やENV変数のどこにでもあります。

私はsc = SparkConte xt(master = 'local')、それでも問題は同じです。

この問題に

編集を識別するのに助けてください:スパーク-defaults.confに内容

 

    spark.master      spark://master:7077 
    # spark.eventLog.enabled   true 
    # spark.eventLog.dir    hdfs://namenode:8021/directory 
    spark.serializer     org.apache.spark.serializer.KryoSerializer 
    spark.driver.memory    8g 
    spark.executor.extraJavaOptions -XX:+PrintGCDetails -Dkey=value -Dnumbers="one two three" 
    spark.driver.extraClassPath /opt/apps/spark-2.1.1-bin-hadoop2.7/jars/mysql-connector-java-5.1.35-bin.jar 
    spark.executor.extraClassPath /opt/apps/spark-2.1.1-bin-hadoop2.7/jars/mysql-connector-java-5.1.35-bin.jar 

答えて

0

は、あなたが(例えばspark-defaults.conf)コンフィギュレーションファイルをチェックしましたか?整数を予期しているフィールドの解析エラーとなる可能性があります。たとえば、spark.executor.cores Ubuntuを設定しようとすると、その例外が発生する可能性があります。

+0

自分の設定を確認しました。彼らはうまくいくように見えますが、今質問の内容を追加しました。私はspark executorコアを使用していません。 – Viv

+0

Even grep -R "Ubuntu" sparkフォルダには何も結果が得られません – Viv

+0

奇妙な。コンテキストを開くことができるかどうかを確認するために、コマンドラインシェルツールを試してみることもできます。時にはscala one( 'spark-shell')がより良いエラーメッセージを出すこともあります。 pysparkエラーメッセージは、py4jインタフェースによって隠されがちです。 – santon

関連する問題