2015-04-04 85 views
1

我想運行一個PySpark程序,該程序在我的(本地)機器上運行得非常好。如何在Amazon EMR上運行PySpark作業(使用自定義模塊)?

我有一個Amazon Elastic Map Reduce集羣正在運行,並安裝了所有必需的依賴項(來自PyPI的Spark,Python模塊)。

現在,我該如何運行使用一些自定義模塊的PySpark作業?我已經嘗試了很多事情,也許半天,現在,無濟於事。到目前爲止,我已經找到了最好的命令是:

/home/hadoop/spark/bin/spark-submit --master yarn-cluster \ 
    --py-files s3://bucket/custom_module.py s3://bucket/pyspark_program.py 

然而,Python的,因爲它沒有找到custom_module.py失敗。這似乎試圖複製它,但:

信息yarn.Client:上傳資源S3://bucket/custom_module.py - > HDFS:// ...:9000 /用戶/ Hadoop的/ .sparkStaging/application_ ... _0001/custom_module.py

信息s3n.S3NativeFileSystem:開幕 'S3://bucket/custom_module.py' 閱讀

這看起來像是一個非常基本的問題,但網絡是相當在這方面靜音,包括官方文檔(Spark文檔似乎暗示了上面的命令)。

回答

0

這是一個bug of Spark 1.3.0

的解決方法包括定義SPARK_HOME紗線,儘管這應該是不必要的:

spark-submit … --conf spark.yarn.appMasterEnv.SPARK_HOME=/home/hadoop/spark \ 
       --conf spark.executorEnv.SPARK_HOME=/home/hadoop/spark … 
相關問題