簡體   English   中英

如何在Amazon EMR上運行PySpark作業(帶有自定義模塊)?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM