2017-10-20 102 views
0

我想在使用Hue的Oozie上運行一個簡單的python腳本。我使用的是安裝了所以我也加入了Cloudera管理器,火花的配置(火花服務高級配置片段(安全閥)的火花的conf/spark-env.sh)在oozie中添加pyspark python路徑

if [ -z "${PYSPARK_PYTHON}" ]; then 
export PYSPARK_PYTHON=/opt/cloudera/parcels/Anaconda/bin/python 
fi 

當運行包裹蟒蛇工作,我有一個python錯誤 ImportError:沒有名爲pandas.io.json的模塊 ,這意味着PYSPARK_PYTHON似乎沒有采用anaconda中的一個。

我試圖用

PYSPARK_PYTHON=/opt/cloudera/parcels/Anaconda/bin/python 

上通過色調火花動作添加一個論據,但似乎並不工作。

如果我通過CLI運行腳本並使用spark-submit,它就可以工作。 如果我通過Hue在Oozie上運行其他python腳本(沒有來自anaconda的包),它可以工作。

我錯過了什麼? :/

回答

2

當通過Oozie使用spark時,您需要告訴應該在啓動器容器(啓動spark會話的容器)上設置哪些環境變量。

嘗試使用鍵oozie.launcher.mapred.child.env和值PYSPARK_PYTHON=/opt/cloudera/parcels/Anaconda/bin/python添加火花動作的新屬性,它應該按預期工作。

+0

嗨我可以獲得oozie spark動作的屬性,使得spark作業被提交爲「用戶」而不是「YARN」 – Rohan

+0

此功能被稱爲「模擬」,並且據我所知它不可配置爲動作,但對於整個oozie服務器配置。 – Mariusz

+0

你拯救我的一天! –