2017-06-13 7 views
0

Ich habe all diese Zeit mit Spark 2.0.1 verwendet, aber versucht, auf eine neuere Version, d. H. 2.1.1 zu aktualisieren, indem Sie die TAR-Datei in meine lokale herunterladen und die Pfade ändern.Weird-Fehler beim Initialisieren von sparkContext python

Wie auch immer, wenn ich nun versuche, ein Programm auszuführen, scheitert es bei der Initialisierung von sparkContext.

dh
sc = SparkContext() 

Der gesamte Beispielcode, den ich zu laufen versuchen ist:

 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()) 

Die Ausnahme, die ich bekomme, ist am Anfang selbst also:

 

    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) 

ich nicht Ubuntu bin vorbei irgendwo in meinen Variablen oder auch in meinen ENV-Variablen.

Ich habe auch versucht, sc = SparkConte zu ändern xt (master = 'local'), immer noch das Problem ist das gleiche.

Bitte helfen bei der Identifizierung dieses Thema

Edit: Der Inhalt des Funken 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 

Antwort

0

Haben Sie Ihre Konfigurationsdateien überprüft (z spark-defaults.conf)? Es könnte ein Parsing-Fehler für ein Feld sein, das Ganzzahlen erwartet. Wenn Sie beispielsweise versuchen, spark.executor.cores Ubuntu festzulegen, können Sie diese Ausnahme erhalten.

+0

Ich habe meine Konfigurationen überprüft. sie scheinen in Ordnung zu sein, fügte jetzt den Inhalt in der Frage hinzu. Ich benutze nicht einmal Funken Executor Kerne. – Viv

+0

Sogar ein Grep -R "Ubuntu". in der Funkenmappe ergab kein Ergebnis – Viv

+0

Seltsam. Ich könnte versuchen, die Befehlszeilen-Shell-Tools zu verwenden, nur um zu sehen, ob Sie einen Kontext öffnen können. Manchmal gibt die scala one ('funken-shell') bessere Fehlermeldungen; die pyspark-fehlermeldungen werden durch die py4j-schnittstelle tendenziell verdeckt. – santon

Verwandte Themen