2016-04-13 13 views
0

Aşağıdaki basit komut pyspark içinde çalışıyor koştu zaman sürücü sürümü çatışma:pySpark bir işçi vardır - terminalden ran edildiğinde Rodeo

import pyspark 

sc = pyspark.SparkContext() 
foo = sc.parallelize([1,2]) 
foo.foreach(print) 

Ama Rodeo koştu zaman, bir hata üretir çoğu önemli hat diyor ki:

Exception: Python in worker has different version 2.7 than that in driver 3.5, PySpark cannot run with different minor versions 

Ve tam hata çıktı bu linkten ulaşılabilir: http://pastebin.com/raw/unGuGLhq

Benim $SPARK_HOME/conf/spark-env.sh dosya foll içeriyor nedeniyle hatları:

export PYSPARK_PYTHON=python3 
export PYSPARK_DRIVER_PYTHON=python3 

sorun devam bu ve rağmen, ya sorunu çözmez ~/.bashrc aynı çizgiler koyarak.

Rodeo sürümü: 1.3.0

Kıvılcım sürümü: 1.6.1

Platform: Linux

+0

diğer soru ve bu benim problemimi çözmüyor, fakat yorumunuz bana eklemeyi unuttuğum inanılmaz derecede önemli bir bilgiyi hatırlattı, bunun için teşekkürler. –

+0

Ayrıca beni çözüm için doğru yolda buldunuz, tekrar teşekkürler! Gönderdiğim cevap, madenin yinelenen olduğundan şüphelenilen bir soruda sunulan cevaplardan birine benziyor, ancak bu cevabı veren kullanıcı uygun kodu nereye koyacağını belirtmedi. –

+0

Hala neden bunları $ SPARK_HOME/conf/spark-env.sh' arasından seçmediğimi anlamıyorum. Garip ... – zero323

cevap

1

Bu sorun burada açıklanan biriyle ilişkilidir: link

Rodeo bir masaüstü uygulaması olarak kabuk ortamı değişkenleriyle çalışmanın zor bir zamanı vardır. Hile, normalde spark-env.sh'da Rodeo'nun .rodeoprofile yerine os modülünü eklemek için kullanacağımız değişkenleri koymaktır. Özellikle .rodeoprofile aşağıdaki satırları ekleyerek bu durumda yardımcı:

os.environ["PYSPARK_PYTHON"]="python3" 
os.environ["PYSPARK_DRIVER_PYTHON"]="python3" 

(ikincisi gereksiz ve sadece sürücü zaten 3.5 kullanıldığı gibi tutarlı için katma rağmen) okudum

+0

.rodeoprofile dosyasını dosyalayamadım. Nerede bulunuyor? – Bade