[英]How to run a PySpark job (with custom modules) on 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
。 不過,似乎嘗試復制它:
INFO yarn.Client:上傳資源s3://bucket/custom_module.py-> hdfs://…:9000 / user / hadoop / .sparkStaging / application_…_0001 / custom_module.py
INFO s3n.S3NativeFileSystem:打開“ s3://bucket/custom_module.py”進行讀取
這似乎是一個非常基本的問題,但是網絡對此沒有任何幫助,包括官方文檔(Spark文檔似乎暗示上面的命令)。
這是Spark 1.3.0的錯誤 。
解決方法是為YARN定義SPARK_HOME
,即使這是不必要的:
spark-submit … --conf spark.yarn.appMasterEnv.SPARK_HOME=/home/hadoop/spark \
--conf spark.executorEnv.SPARK_HOME=/home/hadoop/spark …
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.