2015-10-06 89 views
2

設置Python工作器節點的sys路徑的「正確」方式是什麼?工作節點是否從主服務器「繼承」sys路徑是一個好主意?在工作節點'.bashrc中設置路徑是否是一個好主意?還是有一些標準的Spark設置方式?爲Spark worker設置Python路徑

回答

2

設置環境變量(包括PYSPARK_PYTHON)的標準方式是使用conf/spark-env.sh文件。 Spark附帶一個模板文件(conf/spark-env.sh.template),它解釋了最常見的選項。

這是一個正常的bash腳本,所以你可以用同樣的方式,你會與.bashrc

你會發現在Spark Configuration Guide更多細節。

+0

大多數人都希望做這樣的事情在spark-env.sh: DIR = 「$(光盤 」$(目錄名稱 「$ {BASH_SOURCE [0]}」)「 && PWD)」 PYTHONPATH = $ PYTHONPATH:$ DIR 它不起作用。如果在某些副作用步驟中將其推送到所有工作節點,可能會有效。 通過pyspark或spark-submit進行此操作的運行方式是什麼? – mathtick

+0

在這裏修正? https://issues.apache.org/jira/browse/SPARK-832但不起作用 – mathtick

-1

可以通過下面的代碼,你可以改變Python路徑只對當前的工作,這也讓不同的Python路徑驅動程序和執行者:

PYSPARK_DRIVER_PYTHON=/home/user1/anaconda2/bin/python PYSPARK_PYTHON=/usr/local/anaconda2/bin/python pyspark --master .. 
-3

我的情況的錯誤是:

例外:Python的工人中有不同的版本2.6比 驅動2.7,PySpark不能用不同的次要版本

運行3210

,幫助解決辦法:

export PYSPARK_PYTHON=python2.7 
export PYSPARK_DRIVER_PYTHON=python2.7 
jupyter notebook 

當然,我安裝在本地工人python2.7。
我想我也設置PATH也很重要。
我並不依賴當地工人的設置。該路徑從設置jupyter-notebook的邊緣節點繼承。